如何在Linux环境下安装Nginx

作者: 844d268ca7ba | 来源:发表于2016-12-20 11:40 被阅读327次

    背景

    我的Linux机器环境是CentOS release 6.8 (Final)。如何查看自己的服务器版本?
    查看当前linux服务器运行的系统名称及版本:
    # cat /etc/*-release

    在动手之前,应该先看看服务器是否已经装好了Nginx

    可以用一下whereis命令看看能否查出相关的文件
    # whereis nginx
    nginx: /usr/sbin/nginx /etc/nginx /usr/lib64/nginx
    如果能查询到nginx相关的路径(如上反馈),则你的机器可能已经安装好了nginx,先别着急安装了,去看看现在装好的nginx是否可用。

    使用源码编译的方式安装Nginx

    nginx也可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。
    安装ngnix的前置条件是, 安装一下三个库:

    • pcre
    • zlib
    • openssl
      目前这三个库的稳定版本为(2016年12月19日):
    • pcre-8.38
    • zlib-1.2.8
    • openssl-1.0.1t
      在安装这三个库之前还要确认一下是否安装好了gcc/g++/make等一系列的编译环境。下面我们一步一步开始安装。

    开始安装

    1. 安装gcc g++ 等一系列的编译环境
      CentOS版:
    • 安装make:
      yum -y install gcc automake autoconf libtool make
    • 安装g++:
      yum install gcc gcc-c++
      Ubuntu版:
      apt-get install build-essential
      apt-get install libtool
    1. 安装PCRE库,为了重写rewrite
      本文选定我们的安装目录为 /usr/local/src
    cd /usr/local/src
    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz 
    tar -zxvf pcre-8.38.tar.gz
    cd pcre-8.38
    ./configure
    make
    make install
    
    1. 安装zlib库,为了gzip压缩
    cd /usr/local/src
    wget http://zlib.net/zlib-1.2.8.tar.gz
    tar -zxvf zlib-1.2.8.tar.gz
    cd zlib-1.2.8
    ./configure
    make
    make install
    
    1. 安装SSL
    cd /usr/local/src
    wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
    tar -zxvf openssl-1.0.1t.tar.gz
    
    1. 安装Nginx
      下面是把Nginx安装到 /usr/local/nginx目录下
    cd /usr/local/src
    wget http://nginx.org/download/nginx-1.4.2.tar.gz
    tar -zxvf nginx-1.4.2.tar.gz
    cd nginx-1.4.2
    
    这个./configure命令比较长,我单独拿出来给大家看,注意版本号
    
    ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src
    /pcre-8.38 --with-zlib=/usr/local/src
    /zlib-1.2.8 --with-openssl=/usr/local/src
    /openssl-1.0.1t
    
    make
    make install
    

    6.启动确保系统的 80 端口没被其他程序占用

    netstat -ano|grep 80
    

    运行/usr/local/nginx/nginx 命令来启动 Nginx

    sudo /usr/local/nginx/nginx
    

    打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
    接下来可以去配置Nginx了:(如何配置? google Nginx配置文件)

    vim /usr/local/nginx/conf/nginx.conf
    

    修改好配置,需要重新reload一次:

    /usr/local/nginx/sbin/nginx -s reload
    

    最后提一点我本人在安装时遇到的一个特别坑的事情。
    我把工程文件放在/root文件夹下,然后页面一直提示一个403错误。
    这个错误有两个原因:1 找不到指定的index.html 2 没有访问权限。
    找半天才发现,在CentOS下,Nginx默认是没有/root的访问权限的, 之后把工程文件换了一个目录才搞定。
    Tips: 工程文件尽量不要放/root等文件夹下面


    参考文章地址:http://www.nginx.cn/install
    本文纠正了很多原文章的错误,主要集中在各种版本号的问题。

    相关文章

      网友评论

        本文标题:如何在Linux环境下安装Nginx

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