Nginx部署测试
Nginx简介
Nginx是俄罗斯人Igor Sysoev编写的一款高性能的HTTP和反向代理服务器。
Nginx选择了epoll和kqueue作为网络I/O模型,在高连接并发的情况下,内存、CPU等系统资源消耗非常低,运行稳定。
正向代理与反向代理
正向代理
正向代理是代理客户端。客户可以直接感受到代理的存在。如:VPN服务器。
反向代理
反向代理就是代理服务端,是客户感受不到的。
使用一台代理服务器对底层的应用服务器进行代理。将他们的地址信息对客户端屏蔽,客户端只需要访问代理服务器即可,代理服务器会将请求转发给底层的真正起作用的应用服务器。但在客户端眼里,服务器只有唯一的一台,就是代理服务器。
负载均衡(Load Balance)
其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
负载均衡是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
HTTP服务器(动静分离)
我们的项目中是存在很多静态资源的,它们不会因项目运行而发送变化,所以可以缓存在Nginx本地,加快访问速度。
nginx相关命令
1)、以特定目录下的配置文件启动:nginx -c /特定目录/nginx.conf
2)、重新加载配置:nginx -s reload 执行这个命令后,master进程会等待worker进程处理完当前请
求,然后根据最新配置重新创建新的worker进程,完成Nginx配置的热更新。
3)、立即停止服务:nginx -s stop
4)、从容停止服务:nginx -s quit 执行该命令后,Nginx在完成当前工作任务后再停止。
5)、检查配置文件是否正确:nginx -t
6)、检查特定目录的配置文件是否正确:nginx -t -c /特定目录/nginx.conf
7)、查看版本信息:nginx -v
NGINX的安装
#安装程序和依赖yum install -y vim net-tools wgetyum -y install gcc pcre-devel zlib-devel openssl openssl-devel
#下载nginx
mkdir /opt/nginx
cd /opt/nginx
wget https://nginx.org/download/nginx-1.20.2.tar.gz
#解压
tar zxvf nginx-1.20.2.tar.gz
cd nginx-1.20.2
#配置
./configure --prefix=/usr/local/nginx
#编译
make && make install
vim /usr/local/nginx/conf/nginx.conf
#改端口号为81
创建软连接
ln -s /usr/local/nginx/sbin/nginx /usr/bin
systemctl stop firewalld
nginx -s reload
配置systemd方式管理NG
vim /usr/lib/systemd/system/nginx.service
填入
[Unit]
Description=The Nginx HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl restart nginx.service
如果报错:Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details.
kill 30789
systemctl daemon-reload
systemctl start nginx
nginx -s reload