您现在的位置是:首页 >学无止境 >Nginx网站服务网站首页学无止境
Nginx网站服务
简介Nginx网站服务
一.关于Nginx的特点
- 一款高性能、异步非阻塞工作模式、轻量级Web服务软件
- 稳定性高
- 系统资源消耗低
- 对HTTP并发连接的处理能力高
- 单台物理服务器可支持30000~50000个并发请求
二.编译安装nginx服务
1.关闭防火墙,将安装nginx所需软件包传到/opt目录下
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
nginx-1.12.0.tar.gz
2.安装依赖包
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
3.创建运行用户、组(nginx服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
useradd -M -s /sbin/nologin nginx
4.编译安装Nginx
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
cd nginx-1.12.0/
./configure
--prefix=/usr/local/nginx #指定nainx的安装路径
--user=nginx #指定用户名
--group=nginx #指定组名
--with-http_stub status_module #启用 http_stub_status_module 模块以支持状态统计
make && make install
In -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
5.检查、启动、重启、停止 nginx服务
- 启动
nginx
nginx -t #开启nginx服务一些方法
/usr/local/nginx/sbin/nginx
- 停止
cat /usr/local/nginx/logs/nginx.pid #查看nginx的PID号的几种方法
netstat -lntp | grep nginx
ss -lntp | grep nginx
ps aux | grep nginx
kill -3 <PID号
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUIT nqinx
- 重载
kill -l <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP nginx
- 日志分割,重新打开日志文件
kill -USR1 <PID号>
- 平滑升级
kill -USR2 <PID号>
- 新版本升级
tar -zxvf nqinx-1.xx.xx.tar.gz
cd nginx-1.xx.xx
./configure
--prefix=/usr/local/nginx
--user=nginx
--group=nginx
--with-http_stub_status_module
--with-http_ssl_module
make
mv/usr/local/nqinx/sbin/nqinx/usr/local/nginx/sbin/nqinxold
cp objs/nqinx /usr/local/nqinx/sbin/nginx
make upgrade
6.添加Nginx系统服务
- 方法一
- 方法二
三.认识Nginx服务的主配置文件 nginx.conf
1.全局配置
vim /usr/local/nginx/conf/nginx.conf
#user nobody; #运行用户,若编译时未指定则默认为nobody
worker_processes 1; #工作进程数量,一般设置为和cPu核数一样;设置为auto,nginx将会自己获取这个数值
#error_log logs/error.log; #错误曰志文件的位置
#pid logs/ nginx.pid; #PID 文件的位置
worker_rlinit_nofile 60000; #设置所有worker进程最大可以打开的文件数,默认为1024
2.I/O 事件配置
use epoll; #使用epoll I/o模型,2.6及以上版本的系统内核,建议使用epoll模型以提高性能
worker_connections 60000 ; #每个进程处理60000个连接
multi_accept on; #是否一次性将监听到的连接全接收进来,默认为off,关闭时一次接收一条连接
accept_mutex on; #默认为on,开启时表示以串行方式接入新连接,否则将通报给所有worker。这可能会浪费资源并产生不可预计的后果,例如惊群问题
3.HTTP 配置
vim /usr/local/nginx/conf/nginx.conf
4.server块:配置虚拟主机的相关参数,一个http 块中可以有多个server块;
5.location块:用于配置匹配的 uri;
6.upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分
四.访问状态统计配置
1.查看已安装的Nginx 是否包HTTP_STUB_STATUS 模块
/usr/local/nginx/sbin/nginx -V
cat /opt/nginx-1.12.2/auto/options | grep YES #可查看nginx已安装的所有模块
2.修改nginx.conf配置文件,指定访问位置并添加stub_status 配置
cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf
location /status {
stub status on;
access log off;
}
3.重启服务,访问测试
systemctl daemon- reload
systemctl restart nginx
浏览器访问http://192.168.247.131/status
curl -s http://192.168.247.131/status
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。