Nginx 是一个高性能的HTTP和反向代理服务器,官方地址为http://nginx.org/,这里不多做介绍。本次介绍使用源码编译安装,安装Nginx前需要安装C++编译环境,可使用以下命令安装:
Centos
sudo yum install gcc gcc-c++
Ubuntu:
apt-get install build-essential
apt-get install libtool
Nginx下载地址:http://nginx.org/en/download.html
安装Nginx需要3个依赖包:
- gzip模块需要 zlib (http://www.zlib.net/)
- rewrite模块需要 pcre(http://www.pcre.org/)
- ssl 需要 openssl (https://www.openssl.org/source/)
安装pcre
pcre 的作用是让Nginx支持Rewrite功能。本次介绍使用pcre,非pcre2版本,我在使用pcre2安装Nginx时出现错误,后来改用pcre没有报错。
下载pcre,地址: https://ftp.pcre.org/pub/pcre/
# 下载
sudo wget https://ftp.pcre.org/pub/pcre/pcre-8.38.tar.gz
# 解压
sudo tar -zxvf pcre-8.38.tar.gz
# 进入目录
cd pcre-8.38
# 安装
./configure
make && make install
安装zlib
# 下载
sudo wget http://www.zlib.net/zlib-1.2.11.tar.gz
# 解压
sudo tar -zxvf zlib-1.2.11.tar.gz
# 进入目录
cd zlib-1.2.11
# 安装
sudo ./configure
sudo make && make install
安装openssl
# 下载
sudo wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz
# 解压
sudo tar -zxvf openssl-1.0.2n.tar.gz
# 进入目录
cd openssl-1.0.2n
# 安装
sudo ./config --prefix=/usr/local/openssl
sudo make && make install
安装Nginx
# 下载
sudo wget http://nginx.org/download/nginx-1.8.1.tar.gz
# 解压
sudo tar -zxvf nginx-1.8.1.tar.gz
# 进入目录
cd nginx-1.8.1
# 安装
sudo ./configure --prefix=/usr/local/nginx --with-pcre=/home/user-01/download/pcre-8.38 --with-zlib=/home/user-01/download/zlib-1.2.11 --with-openssl=/usr/local/openssl
sudo make && make install
注意: 指定pcre
和zlib
的路径是源码路径。
--with-pcre=/home/user-01/download/pcre-8.38 # 指的是pcre-8.38 的源码路径。
--with-zlib=/home/user-01/download/zlib-1.2.11 # 指的是zlib-1.2.11 的源码路径。
启动Nginx
sudo /usr/local/nginx/sbin/nginx
浏览器访问,看到下图则说明Nginx安装并启动成功。
Nginx的其他命令:
- 检查配置文件
nginx.conf
的正确性/usr/local/nginx/sbin/nginx -t
- 停止Nginx
/usr/local/nginx/sbin/nginx -s stop
- 重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
设置开机自启
1.在系统服务目录中创建nginx.service
文件:
vi /usr/lib/systemd/system/nginx.service
内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
# '/usr/local/nginx' 为nginx的安装目录,此路径可根据个人情况修改。
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2.启用nginx.service
服务
systemctl enable nginx.service
3.启动或重启nginx
# 启动
systemctl start nginx
# 重启
systemctl restart nginx
4.重启服务器后查看nginx服务状态
systemctl status nginx
若nginx已启动,则nginx开机自启动配置成功。
参考: