美文网首页
nginx安装

nginx安装

作者: xiang205012 | 来源:发表于2018-06-10 20:00 被阅读5次

    首先去官网下载nginx
    下载后由于它是一个源码包,需要编译,还要安装编译环境

    安装编译环境
    • 需要安装gcc的环境。yum install gcc-c++

    • 安装编译时的依赖库

      • PCRE
            PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
        yum install -y pcre pcre-devel
        注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
      • zlib
            zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
        yum install -y zlib zlib-devel
      • openssl
            OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
        nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
        yum install -y openssl openssl-devel
    开始安装
    1. 上传nginx源码包
    2. 解压缩
    3. 进入压缩后的目录,使用configure命令创建makeFile文件
    ./configure --prefix=/home/gordon/software/nginx    指定安装目录
    

    注意:启动nginx之前,文件目录不存在着,使用“-p” 逐级创建目录:mkdir /var/temp/nginx/ -p

    1. make (编译)
    2. make install (安装)
    3. 进入sbin目录,执行 ./nginx 启动
    4. 查看是否已经启动:ps aux|grep nginx


      nginx启动.png
    5. 访问nginx: 在浏览器中输入centos ip4的地址,端口默认80可以不输入。可能出现以下两种情况:
    • 浏览器显示无法访问
          这是因为linux中访问1024以下端口只能是root用户才可以访问,使用sudo ./nginx启动,或者将nginx.conf中端口修改成大于1024,再次访问
    • 403 forbidden
          这里有几种情况
      1. 权限问题
            查看安装路径下所有目录及文件的权限是否能被当前用户读写(注意要逐级查看)。
    ls -l中显示的内容如下:
    
    -rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
    
    - 10个字符确定不同用户能对文件干什么
    
    - 第一个字符代表文件(-)、目录(d),链接(l)
    
    - 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
    
    - 第一组rwx:文件所有者的权限是读、写和执行
    
    - 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
    
    - 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行
    
    也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7
    
    - 1 表示连接的文件数
    
    - root 表示用户
    
    - root表示用户所在的组
    
    - 1213 表示文件大小(字节)
    
    - Feb 2 09:39 表示最后修改日期
    
    - abc 表示文件名
    改变权限的命令
    
    chmod 改变文件或目录的权限
    
    chmod 755 abc:赋予abc权限rwxr-xr-x
    
    chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限
    
    chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
    
    chmod a+r abc:给所有用户添加读的权限
    
    1. 目录里面没有index.html,或者nginx.conf中的root目录路径不对
          这里最大的可能性是root目录路径不对,由于是指定安装目录,但是root默认为html,我们应该改为全路径。当然如果是index.html没有的话就随便新建一个试试,再次访问能正常显示即可。
    2. SELinux是开启的(SELinux是一种安全子系统,有时会将正常的命令当做是有安全隐患的,从而拦截)
          查看SELinux状态: /usr/sbin/sestatus -v 如果是enabled即为开启状态
          关闭SELinux(临时关闭,不用重启机器):
              setenforce 0 #设置SELinux 成为permissive模式
              #setenforce 1 设置SELinux 成为enforcing模式
          永久关闭(需要重启机器):
              修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled

    备注:如果是刚安装完,最好以root用户启动,先看是否能访问成功,再根据自己想法修改

    1. 关闭nginx: ./nginx -s stop (强制关闭) ./nginx -s quit(安全退出)
    2. 重启nginx:nginx -s reload 改变配置文件的时候,重启nginx工作进程,配置文件即时生效
    3. 查看日志:nginx -s reopen
      备注:如果想直接启动nginx,可以配置环境变量,方法跟jdk一样。
    4. 配置环境变量


      nginx环境变量.png

    相关文章

      网友评论

          本文标题:nginx安装

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