如何在Linux环境下安装Nginx

背景

我的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
本文纠正了很多原文章的错误,主要集中在各种版本号的问题。

    原文作者:勇敢的小C
    原文地址: https://www.jianshu.com/p/2144fbb23c5d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞