美文网首页Linux
Linux下安装Nginx流程和问题记录

Linux下安装Nginx流程和问题记录

作者: h2coder | 来源:发表于2020-08-26 08:57 被阅读0次

    今天在Linux虚拟机上安装Nginx,用来做反向代理,安装过程中遇到一些问题,顺便记录一下。

    终端远程连接到Linux

    我们需要在Linux下,对安装包进行解压,所以我们可以使用终端,远程登录,进行命令解压。

    2.终端新建远程连接.png 3.终端远程连接Linux.png 3.终端远程连接Linux2.png
    • 检查Nginx是否未安装,我们可以通过以下命令查看。

    正常会有2个进程,master进程和worker进程。如果没有就是未安装,缺少一个,也是安装得有问题。

    master进程,监听80端口。worker进程,负责转发请求到配置的端口服务。

    ps -ef | grep nginx
    //输出
    [root@center6 ~]# ps -ef | grep nginx
    nobody    2854  6521  0 04:01 ?        00:00:04 nginx: worker process
    root      3848  3827  0 07:59 pts/4    00:00:00 grep nginx
    root      6521     1  0 02:41 ?        00:00:00 nginx: master process nginx
    
    • 新建一个用户,将安装包放到用户目录下,例如我新建一个leyou用户,leyou的用户目录就是/home/leyou
    useradd leyou
    

    将Nginx安装包上传到Linux上

    Linux系统,我是安装在虚拟机上的,是CenterOS6。需要准备好Nginx安装包,我使用的是nginx-1.10.0.tar.gz。

    • 新建FTP连接,注意默认选择的协议是FTP连接,我们要使用SFTP,才能连接上,输入登录的账户和密码,连接即可。

    1.SFTP连接Linux.png


    image
    • 使用FileZilla软件,将Nginx安装包上传到对应的Linux上,使用SFTP远程登录到Linxus系统上。将文件拖拽到右边到右边的Linux上即可。
    2.上传Nginx安装包.png
    • 使用tar命令解压安装包(重要)
    tar xvf nginx-1.10.0.tar.gz
    
    • 解压完毕,将压缩包删除
    rm-rf nginx-1.10.0.tar.gz
    
    • 进入nginx解压目录,进行编译、安装
    cd nginx-1.10.0
    
    • 安装前,先要配置一个nginx的安装目录(重要),第一个--prefix指定的事文件存放目录,放在了opt/nginx下,第二个是脚本文件存放目录,在/usr/bin/nginx
    ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx
    
    • 配置完毕,进行编译和安装(重要)
    make && make install
    

    报错:./configure: error: C compiler cc is not found

    执行上面的./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx命令,可能会执行出错,抛出./configure: error: C compiler cc is not found,意思是没有安装c的编译环境,就是gcc,我们需要安装它,需要执行以下命令,其实是安装4个东西,分别是gcc和它的3个依赖

    1. gcc,功能:预处理、编译、连接、汇编
    2. openssl,功能:用于网站加密通讯
    3. pcre,功能:用于支持解析正则表达式
    4. zlib,功能:用于对数据进行解压缩。网站之间通信时,数据先压缩再传输,通过消耗CPU的方式来节省网络带宽

    我们可以分别安装,也可以合并为一条命令,直接全部安装

    yum -y install gcc gcc-c++ autoconf automake make
    

    如果你其实已经安装了gcc,但又依旧出现这个错误,可以尝试卸载再重新安装

    # yum remove gcc -y
    # yum install gcc -y 
    

    安装好gcc的依赖后,需要重新执行一遍./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx命令,否则可能会抛出下面这个错误:make: *** 没有规则可以创建“default”需要的目标“build”

    报错:make: *** 没有规则可以创建“default”需要的目标“build”

    如果安装gcc和依赖后,没有重新执行一遍./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx命令,就执行make && make install,就会抛出make: *** 没有规则可以创建“default”需要的目标“build”的错误。操作完后,再make就好了。

    启动、停止和配置Nginx

    • 启动Nginx
    nginx
    
    • 停止Nginx
    nginx -s stop
    
    • 重新加载Nginx配置文件
    nginx -s reload
    

    --

    • 如果启动不成功,可能是防火墙没有关闭,使用以下命令进行关闭,有临时关闭和永久关闭,重新即可生效
    //临时关闭
    service iptables stop
    //永久关闭
    chkconfig iptables off
    
    • 配置文件,在opt文件夹下,完整路径为:/opt/nginx/conf,找到nginx.conf文件,右边编辑,例如我添加2个server,就是域名转发配置,分别将2个域名转发到本地的不同端口的微服务
    
    #user  nobody;
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
       
        keepalive_timeout  65;
    
        gzip  on;
        server {
            listen       80;
            server_name  manage.leyou.com;
    
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
            location / {
                proxy_pass http://127.0.0.1:9001;
                proxy_connect_timeout 600;
                proxy_read_timeout 600;
            }
        }
        server {
            listen       80;
            server_name  api.leyou.com;
    
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
            location / {
                proxy_pass http://127.0.0.1:10010;
                proxy_connect_timeout 600;
                proxy_read_timeout 600;
            }
        }
    }
    
    • 最后让Nginx重新加载配置文件,即可生效配置
    nginx -s reload
    

    相关文章

      网友评论

        本文标题:Linux下安装Nginx流程和问题记录

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