Nginx 详解

445 阅读3分钟

在说Nginx 之前我们先来了解一下 ​​正向代理与反向代理​​ (可以移步这篇文章)

Nginx 简介

  • Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。
  • Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。
负载均衡

在单个服务器解决不了请求的情况下,我们增加服务器的数量,然后将请求分发到各个服务器上,这就服务器就可以是物理的,或者虚拟的,这样就是我们的负载均衡

动静分离

把动态页面和静态页面由不同的服务器来解析,加快解析速 度。降低原来单个服务器的压力

安装

安装依赖环境 ​​yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel​

方式一:​​wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz ​

方式二:下载源码压缩包,上传,解压,编译,安装

//创建一个文件夹
cd /usr/soft
//创建一个目录作为nginx的安装目录
mkdir nginx
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz(根据自己的情况来选择版本)
tar -xvf nginx-1.13.7.tar.gz(解压)
//进入解压后的目录
 cd nginx-1.13.7/
//指定nginx安装的目录
./configure --prefix=/usr/soft/nginx
//执行make命令  编译
make
//执行make install命令  安装
make install
//进入安装nginx的目录
cd /usr/soft/nginx
//查看目录中内容详细信息
ll

sbin/nginx    启动nginx
sbin/nginx -s stop   关闭nginx
sbin/nginx -s reload  重新加载nginx配置
//放行nginx端口号
firewall-cmd --add-port=80/tcp --zone=public --permanent
//重启防火墙
systemctl restart firewalld
//查看防火墙放行端口号
firewall-cmd --list-port
http://192.168.179.129:80

但是到这一步还有完成,每次启动,查看状态,重启,重载都很麻烦,我们再来写一个脚本

脚本

1.新增nginx.service 文件
开机就启动的目录
/usr/lib/systemd/system
去这个目录下查找 nginx.service
没有就新建
sudo vim /usr/lib/systemd/system/nginx.service
// 对服务的说明
[Unit] 
// 描述服务                                                                                     
Description=nginx - high performance web server  
// 描述服务类别            
After=network.target remote-fs.target nss-lookup.target   
 
// 服务的一些具体运行参数的设置 
[Service]                                                                                 
// 后台运行的形式
Type=forking
// PID文件的路径                                                                         
PIDFile=/usr/local/nginx/logs/nginx.pid 
// 启动准备                              
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
// 启动命令   
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
// 重启命令           
ExecReload=/usr/local/nginx/sbin/nginx -s reload
// 停止命令                                                 
ExecStop=/usr/local/nginx/sbin/nginx -s stop        
// 快速停止                                               
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
// 给服务分配临时空间                         
PrivateTmp=true                                                         
 
// 服务用户的模式 
[Install]
WantedBy=multi-user.target
2.给nginx.service 脚本文件授予可执行权限

​sudo chmod +x /usr/lib/systemd/system/nginx.service​

3.启动服务

​sudo systemctl daemon-reload​

启动命令
systemctl start nginx.service
停止命令
systemctl stop nginx.service
查看状态
systemctl status nginx.service
重启命令
systemctl restart nginx.service
重新加载配置文件命令
systemctl reload nginx.service