美文网首页
【学习笔记】Centos安装nginx的两种方式

【学习笔记】Centos安装nginx的两种方式

作者: 天天蓝海 | 来源:发表于2021-02-22 09:11 被阅读0次

    安装nginx的两种方法:

    一、使用yum直接安装(自动安装)

    1.yum install nginx

    2.启动服务systemctl start nginx.service

    3.使用ps -aux | grep nginx查看是否安装成功

    4.设置开机自启动systemctl enable nginx 关闭开机自动启动systemctl disable nginx

    5.使用浏览器访问主机IP,测试页面。

    其它:

    配置文件存放目录:

    1.whereis nginx 查找和nginx相关的文件

    2.在/etc/nginx/文件夹下存放了nginx的配置信息文件,nginx.conf

    3.在nginx.conf配置文件里,有两个配置很重要,

        ①listen 80 default_server  设置监听端口

        ②root  /usr/share/nginx/html  静态页面的存放路径

    二、通过源码安装(手动安装)

    1.从官网下载源代码(一般都是C语言的源代码)wget http://nginx.org/download/nginx-1.19.7.tar.gz

    2.解压源代码,tar -zxvf nginx-1.19.7.tar.gz    进入到文件夹cd /解压目录

    3.执行./configure --prefix=url 进行配置url为存放nginx文件的目录

    ./configure --prefix=/usr/local/nginx

        --prefix是用来指定安装路径,配置的目的是用来查看当前系统环境是否能够安装软件,在此过程中可能会出现错误提示

    大多数的错误是因为缺少相关的依赖库或者编译器

    需要安装相关依赖sudo yum install gcc-c++ pcre pcre-devel zlib-devel openssl openssl-devel

          依赖安装完成后再次执行./configure --prefix=/usr/local/nginx

      4.configure命令执行成功以后,会生成一个新的Makefile文件

    5.运行sudo make && sudo make install 命令来编译并安装软件

    6.启动nginx  cd /usr/local/nginx/sbin进入目录  执行nginx  使用./nginx 或systemctl start nginx.service

        如果出现80端口被占用的情况,使用语句sudo netstat -npltu | grep [port] 可以查询到指定端口的进程名以及进程ID,再使用kill [id] 可以关闭指定进程

    7.nginx的其他命令

    /usr/local/nginx/sbin/nginx -s reload            # 重新载入配置文件./nginx -s reload

    /usr/local/nginx/sbin/nginx -s reopen            # 重启Nginx      ./nginx -s reopen

    /usr/local/nginx/sbin/nginx -s stop              # 停止Nginx      ./nginx -s stop

    三、卸载niginx

        1.查看已安装的nginx

        rpm -qa|grep nginx  或者yum list installed |grep nginx

        2.关闭nginx服务

    自动方式安装的使用systemctl stop nginx.service

          手动方式安装的使用./nginx -s stop

        2.删除安装包

    yum -y remove nginx

    备注:出现的异常及解决方案(手动安装的情况):

    Q1: systemctl start nginx.service启动nginx出现Failed to start nginx.service: Unit nginx.service not found.

    A1: 

    1.在/etc/init.d/目录下新建文件,文件名为nginx

        vim /etc/init.d/nginx

     2.插入以下代码片段

    #!/bin/sh

    # nginx - this script starts and stops the nginx daemin

    # chkconfig:  - 85 15

    # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \

    #              proxy and IMAP/POP3 proxy server

    # processname: nginx

    # config:      /usr/local/nginx/conf/nginx.conf

    # pidfile:    /usr/local/nginx/logs/nginx.pid

    # Source function library.

    . /etc/rc.d/init.d/functions

    # Source networking configuration.

    . /etc/sysconfig/network

    # Check that networking is up.

    [ "$NETWORKING" = "no" ] && exit 0

    nginx="/usr/local/nginx/sbin/nginx"

    prog=$(basename $nginx)

    NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

    lockfile=/var/lock/subsys/nginx

    start() {

    [ -x $nginx ] || exit 5

    [ -f $NGINX_CONF_FILE ] || exit 6

    echo -n $"Starting $prog: "

    daemon $nginx -c $NGINX_CONF_FILE

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

    return $retval

    }

    stop() {

    echo -n $"Stopping $prog: "

    killproc $prog -QUIT

    retval=$?

    echo

    [ $retval -eq 0 ] && rm -f $lockfile

    return $retval

    }

    restart() {

    configtest || return $?

    stop

    start

    }

    reload() {

    configtest || return $?

    echo -n $"Reloading $prog: "

    killproc $nginx -HUP

    RETVAL=$?

    echo

    }

    force_reload() {

    restart

    }

    configtest() {

    $nginx -t -c $NGINX_CONF_FILE

    }

    rh_status() {

    status $prog

    }

    rh_status_q() {

    rh_status >/dev/null 2>&1

    }

    case "$1" in

    start)

    rh_status_q && exit 0

    $1

    ;;

    stop)

    rh_status_q || exit 0

    $1

    ;;

    restart|configtest)

    $1

    ;;

    reload)

    rh_status_q || exit 7

    $1

    ;;

    force-reload)

    force_reload

    ;;

    status)

    rh_status

    ;;

    condrestart|try-restart)

    rh_status_q || exit 0

    ;;

    *)

    echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

    exit 2

    esac

    3.保存退出并执行以下语句

    cd /etc/init.d

    chmod 755 /etc/init.d/nginx

    chkconfig --add nginx

    相关文章

      网友评论

          本文标题:【学习笔记】Centos安装nginx的两种方式

          本文链接:https://www.haomeiwen.com/subject/nhlhfltx.html