nginx version:nginx-1.14.0
CentOS version:7.4
一,安装所需环境
1,gcc安装
nginx是C语言开发,安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。
yum install gcc-c++
2,PCRE,pcre-devel安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。
yum install -y pcre pcre-devel
3,zlib安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
4,OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
二,yum安装nginx
这种方式安装,后期如果要进行功能模块扩展,还需要下载当前所安装的nginx的源码,添加所需模块,进行编译安装
添加CentOS 7 EPEL仓库
yum install epel-release
安装nginx
yum install nginx
启动nginx
systemctl start nginx
如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
设置开机启动
systemctl enable nginx
三,源码编译安装
直接下载.tar.gz
安装包,地址:https://nginx.org/en/download.html,我们选择的版本是:nginx-1.14.0
wget -c https://nginx.org/download/nginx-1.14.0.tar.gz
如果没有wget命令,则安装
yum -y install wget
解压并进入nginx根目录
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
新建nginx用户和组
groupadd nginx
useradd -g nginx -d /home/nginx nginx
passwd nginx
1,默认安装
./configure
默认方式安装后的配置显示
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
2,自定义安装
./configure \
--user=nginx --group=nginx \ #安装的用户组
--prefix=/usr/local/nginx \ #指定安装路径
--with-http_stub_status_module \ #监控nginx状态,需在nginx.conf配置
--with-http_ssl_module \ #支持HTTPS
--with-http_sub_module \ #支持URL重定向
--with-http_gzip_static_module #静态压缩
--add-module=/root/nginx-sticky-1.2.5 #安装sticky模块
两种方式安装后都需要编译
make && make install
启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
设置开机启动
vi /etc/rc.local
增加一行
/usr/local/nginx/sbin/nginx
设置执行权限
chmod 755 rc.local
配置全局生效
cd /usr/local/nginx/sbin/
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
也可以配置到环境变量/etc/profile文件中,永久生效
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
使其生效
source /etc/profile
至此nginx安装完成
四,nginx一些常用命令
nginx安装路径
whereis nginx
nginx进程
ps aux|grep nginx
或
ps -ef|grep nginx
查看版本
nginx -v
查看安装模块
nginx -V
测试配置文件nginx.conf正确性
nginx -t
参考: