-
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx能够支持高达5万个并发连接的响应。
-
Nginx的优点:
- 占用内存小,可以实现高并发访问、处理响应快
- 可以实现http服务器、虚拟主机、反向代理、负载均衡
- Nginx配置简单
- 可以不暴露真实服务器IP地址
-
在Windows下搭建Tomcat集群
-
准备两个Tomcat安装包和一个Nginx的windows版的安装包(本机ip地址为192.168.18.132)
-
分别修改两个Tomcat的配置文件 apache-tomcat-9.0.16-01\conf\server.xml,使两个Tomcat在启动的时候端口不会冲突,具体修改的内容如下:
第一个Tomcat
<Server port="8006" shutdown="SHUTDOWN"> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
第二个Tomcat
<Server port="8007" shutdown="SHUTDOWN"> <Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
-
在两个Tomcat 的 apache-tomcat-9.0.16-01\webapps\ROOT 下分别放入一个HTML文件用作测试
第一个Tomcat
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>8081 第一台服务器</h1> </body> </html>
第二个Tomcat
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>8082 第二台服务器</h1> </body> </html>
-
修改Nginx的配置文件 nginx-1.16.0\conf\nginx.conf,修改内容如下
-
在配置项server的上面添加下面的内容
upstream serverlist { server 192.168.18.132:8081; server 192.168.18.132:8082; }
-
在配置项server的location / 下做如下的修改
location / { #root html; #注释该配置项 #index index.html index.htm; #注释该配置项 proxy_pass http://serverlist; #添加该配置项 }
-
启动Nginx, 用命令行切换到Nginx安装目录下面,执行nginx.exe,如果在启动的过程中发现80端口被占用,可以通过修改Nginx的默认端口号或者杀掉占用80端口的进程。
-
修改Nginx的默认端口号的方法为,修改nginx.conf的配置项server下的listen,例如
listen 8083;
-
重新启动Nginx,访问 http://localhost:8083/ , 就会发现每次访问的Tomcat 都会切换。
-
-
-
Centos安装Nginx
-
安装Linux相关依赖
yum install pcre pcre-deval yum install gcc gcc-c++ ncurses-devel perl yum -y install make gcc gcc-c++ ncurses-devel yum -y install openssl openssl—devel
-
准备安装
yum -y install wget wget http://nginx.org/download/nginx-1.15.10.tar.gz #下载nginx安装包 tar -zxvf nginx-1.15.10.tar.gz #解压nginx安装包
-
隐藏nginx版本号
cd nginx-1.15.10 vi /nginx-1.15.10/src/core/nginx.h
将版本号1.15.10修改为其他内容,例如TWS字母,否则在nginx出错的时候,会在页面上暴露nginx的版本号。
-
配置nginx安装环境
cd nginx-1.15.10 #进入nginx解压目录 ./configure --prefix=/usr/local/nginx #配置安装目录 make #编译文件 make install #安装编译后的文件
安装结束后,nginx被安装在了/usr/local/nginx下
-
启动nginx
cd /usr/local/nginx/sbin/ ./nginx
-
在浏览器上面访问下面的地址 http://192.168.18.177:80 出现下面的页面,说明nginx成功启动
-
-
nginx目录结构
conf 配置文件 html 网页文件 logs 日志文件 sbin nginx执行程序 -
查看nginx的进程pid
-
在 /usr/local/nginx/logs 下,查看nginx.pid文件
-
ps -ef|grep nginx(master为主进程,worker为工作进程)
-
-
nginx中两种进程的关系
-
在nginx服务的启停方法中,有一种是通过信息机制来实现nginx的控制,具体信息如下
信号 作用 TERM或INT 立刻退出,快速停止Nginx服务 QUIT 等待工作进程结束后再退出,平缓停止Nginx服务 KILL 强制终止进程 HUP 重新加载配置文件,使用新的配置启动工作进程,并逐步关闭旧进程,也就是所谓的“平滑重启” USR1 重新打开日志文件,常用于日志切割 USR2 启动新的主进程,实现热升级。即使用新版本的Nginx文件启动服务,之后平缓停止原有Nginx进程,也就是所谓的“平滑升级”。 WINCH 逐步关闭工作进程,平缓停止worker process,用于Nginx服务平滑升级 -
nginx.conf中配置项的说明
- worker_processes 1; #工作进程的数量
-
启动Nginx服务
./nginx -t #检查配置是否能正常启动,/usr/local/nginx/conf/nginx.conf test is successful表示测试通过 ./nginx -c /usr/local/nginx/conf/nginx.conf #启动Nginx ps -ef|grep nginx #查看Nginx是否正常启动 netstat -tunlp #检查80端口有没有被占用 http://192.168.18.177/ #在浏览器访问服务器ip地址,检查Nginx是否正常启动
-
快速停止Nginx服务
kill -TERM 9828 #立即关闭Nginx进程
-
平滑停止Nginx服务(两种方式),平滑停止是指Nginx只处理当前已接收到的网络请求,但不再接收新的请求,之后关闭连接,停止工作。
kill -QUIT 9838 ./nginx -s quit
-
停止Nginx服务(效果与快速停止Nginx服务一样)
./nginx -s stop
-
kill的方式(不推荐)
kill -9 pid
-
Nginx服务重启(重新加载配置文件)(两种方式)
kill -HUP 9869 ./nginx -s reload
-
Nginx平滑升级,在不停止服务的情况下升级Nginx的版本
-
查看当前Nginx的版本
./nginx -v
-
备份原Nginx二进制文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_$(date +%F)
-
下载并安装最新的Nginx安装包
wget http://nginx.org/download/nginx-1.17.0.tar.gz tar -zxvf nginx-1.17.0.tar.gz cd nginx-1.17.0 ./configure --prefix=/usr/local/nginx make&make install
-
向主进程发送USR2信号,Nginx会启动一个新版本的Master进程和工作进程,和旧版一起处理请求
kill -USR2 9869
-
向主进程发送WITCH信号,它会逐步关闭旗下的工作进程(主进程不退出),这是所有的请求都由新版的Nginx处理。
kill -WITCH 9869 #旧版本Nginx主进程号
-
此时查看Nginx的版本号,发现是新版的Nginx
-
查看Nginx进程的时候,发现有两个Nginx的主进程,如下图
-
这时需要关闭就的Nginx的主进程
kill -QUIT pid #旧版的进程号
Centos下Nginx的介绍、安装以及相关的基本操作
最新推荐文章于 2022-10-21 17:26:06 发布