Nginx 是俄罗斯人 Igor Sysoev 编写的十分轻量级的 HTTP 服务器,Nginx 以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载均衡服务器,同时也是一个邮件代理服务器。
Nginx 因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名。
Nginx四大常用功能:
1.http服务器
2.反向代理
3.负载均衡
4.正向代理
第一部分:nginx的安装
1.yum安装
yum源配置:
[root@python ~]# cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
执行安装操作:
[root@python ~]# yum install nginx -y
2.编译安装
[root@python ~]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
...
[root@python ~]# ls
nginx-1.14.2.tar.gz
[root@python ~]# tar -zxvf nginx-1.14.2.tar.gz
...
[root@python ~]# cd nginx-1.14.2
[root@python nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
...
[root@python nginx-1.14.2]# make && make install
...
[root@python nginx-1.14.2]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
Nginx支持平滑升级,如果服务器之前编译安装过Nginx,现在要升级Nginx版本,或者是新添加Nginx的模块,执行configure步骤后,在 objs 目录下,会重新生成Nginx的二进制文件,替换掉原来的二进制文件,完成平滑升级。
基于上次编译操作,新添加邮件模块:
[root@python nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-mail
...
[root@python nginx-1.14.2]# cd objs
[root@python objs]# ls
autoconf.err Makefile nginx nginx.8 ngx_auto_config.h ngx_auto_headers.h ngx_modules.c ngx_modules.o src
[root@python objs]# mv /usr/local/nginx/sbin/nginx{,.bak}
[root@python objs]# cp nginx /usr/local/nginx/sbin
第二部分:Nginx常用命令
1.直接启动nginx
[root@python ~]# nginx
nginx: [emerg] getpwnam("nginx") failed
[root@python ~]# useradd nginx
[root@python ~]# nginx
2.指定配置文件路径并启动
[root@python ~]# nginx -c /usr/local/nginx/conf/nginx.conf
3.测试nginx配置文件是否有语法错误
[root@python ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
4.重载配置文件
[root@python ~]# nginx -s reload
5.重启nginx
[root@python ~]# nginx -s reopen
6.停止运行
[root@python ~]# nginx -s stop
7.退出
[root@python ~]# nginx -s quit
8.显示编译安装指令以及版本等信息
[root@python ~]# nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module