一、Nginx的简介
1、Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个邮件代理服务器、TCP/UDP代理服务器;
2、Nginx 最初是由俄罗斯人 Igor Sysoev 采用C语言开发编写的,第一个公开版本0.1.0发布于2004年10月4日;
3、Nginx 特点是占有内存少,并发处理能力强,以高性能、低系统资源消耗而闻名,Nginx官方测试为5万并发请求;
4、Nginx 的并发处理能力在同类型的Web服务器中表现极好(Lighttpd、Apache),在全世界范围内大量的网站使用了Nginx,国内互联网中也大量使用了Nginx,比如:淘宝、新浪、网易等;
反向代理服务器:用户访问的服务器是nginx,其实真正访问的是nginx代理的其他服务器,用户是不知道的
正向代理服务器:用户访问的是代理服务器,然后代理服务器访问真正的服务器,然后返回一个结果,用户知道要访问服务器的地址,但是没有权限访问,所以找一个代理服务器去访问。
二、Nginx的环境搭建
1.下载
官网地址:https://nginx.org/en/download.html
2.安装
- 通过ftp上传到服务器
- 将nginx-1.12.2.tar解压到/usr/local目录下
//解压命令tar -zxvf ./nginx-1.12.2 -C /usr/local/
3.在nginx主目录下nginx-1.12.1执行命令:./configure --prefix=/usr/local/nginx
(其中--prefix是指定nginx安装路径)
报如下错:
./configure: error: the HTTP rewrite module requires the PCRE library.You can either disable the module by using --without-http_rewrite_moduleoption, or install the PCRE library into the system, or build the PCRE librarystatically from the source with nginx by using --with-pcre=option.
安装注意事项:
Nginx的安装需要Linux安装相关的几个库,否则编译会出现错误,这几个库分别是:
- gcc编译器是否安装?
检查是否安装:yum list installed | grep gcc
执行安装:yum install gcc -y
- openssl库是否安装?
检查是否安装:yum list installed | grep openssl
执行安装:yum install openssl openssl-devel -y
- pcre库是否安装?
检查是否安装:yum list installed | grep pcre
执行安装:yum install pcre pcre-devel -y
- zlib库是否安装?
检查是否安装:yum list installed | grep zlib
执行安装:yum install zlib zlib-devel -y
- 一次性安装,执行如下命令:
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
再次执行./configure --prefix=/usr/local/nginx 命令执行成功
4.执行命令进行编译 make
5.执行命令进行安装 make install
6.启动nginx执行命令:
切换到nginx安装目录的sbin目录下,执行:./nginx -c /usr/local/nginx/conf/nginx.conf(其中-c是指定配置文件路径及文件名)
7.关闭nginx服务
- 优雅关闭Nginx:
找出nginx的进程号:ps -ef | grep nginx
执行命令:kill -QUIT 主pid这是比较从容优雅的关闭nginx 【其中pid是主进程号的pid(master process),其他为子进程pid(worker process)】- 快速关闭Nginx:
kill -TERM 主pid
- 重启Nginx:
./nginx -s reload
8、对配置文件进行检查
当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确;
//检查Nginx配置文件是否正确:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t
Nginx1.8版本之后,查看配置是否正确,可以不指定配置文件路径:
[root@localhost nginx-1.8.1]# /usr/local/nginx-1.8.1/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.8.1/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx-1.8.1/conf/nginx.conf test is successful[root@iz2ze1dmruypkfyok6irb2z sbin]# ./nginx -t
9.Linux上查看nginx版本:/usr/local/nginx/sbin/nginx -V
-v (小写的v)显示 nginx 的版本;
-V (大写的V)显示 nginx 的版本,编译器版本和配置参数;[root@iz2ze1dmruypkfyok6irb2z sbin]# ./nginx -vnginx version: nginx/1.12.2[root@iz2ze1dmruypkfyok6irb2z sbin]# ./nginx -Vnginx version: nginx/1.12.2built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) //编译器的版本configure arguments: --prefix=/usr/local/nginx //nginx的安装目录