Nginx配置使用积累[不断更新]
由于网上Nginx的文档太少,很多特性只能自己去尝试,遂记录Nginx的一些使用知识。
以下nginx.conf配置文件中的配置:
1.Nginx不记录错误日志:
error_log /dev/null; #[linux下]
error_log null; #[Windows下]
2.Nginx不记录404等错误信息:
error_log logs/error.log info;
3.Nginx允许html执行post[解决http/1.1 405 Method not allowed]
error_page 405 =200 @405;
location @405
{
root /opt/htdocs;
}
4.Nginx虚拟主机+备机自动上线例子:
http {
upstream myCluster{
server 192.168.62.102:7001;
server 192.168.62.101:7001 backup; #[备机,主机掉线后,备机自动响应]
}
upstream bbsCluster{ #[虚拟主机,可以绑定不同的域名]
server 192.168.62.102;
server 192.168.62.101 backup;
}
server {
location /virtual {
proxy_pass http://myCluster/; #这里的名字和上面的cluster的名字相同
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name bbs.knife.com; #绑定的第二个域名
location / {
proxy_pass http://bbsCluster/; #这里的名字和上面的cluster的名字相同
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
以下是Nginx常用命令:
启动操作
命令:
nginx
默认为:nginx -c /usr/nginx/conf/nginx.conf
-c参数指定了要加载的nginx配置文件路径。
停止操作
停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx
另外,若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 '/usr/nginx/logs/nginx.pid'
平滑重启
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
例如:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
平滑升级
如果服务器正在运行的Nginx要进行升级、添加或删除模块时,我们需要停掉服务器并做相应修改,这样服务器就要在一段时间内停止服务,Nginx可以在不停机的情况下进行各种升级动作而不影响服务器运行。
步骤1:
如果升级Nginx程序,先用新程序替换旧程序文件,编译安装的话新程序直接编译到Nginx安装目录中。
步骤2:执行命令
kill -USR2 旧版程序的主进程号或进程文件名
此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版Nginx。新旧Nginx会同市运行,共同处理请求。
这时要逐步停止旧版Nginx,输入命令:
kill -WINCH 旧版主进程号
慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版工作进程。
此时,我们可以决定使用新版还是恢复到旧版。
不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号
这样下来,如果要恢复到旧版本,只需要上面的几个步骤都是操作新版主进程号,如果要用新版本就上面的几个步骤都操作旧版主进程号就行了。
Nginx配置使用积累[不断更新]相关推荐
- 更新:为 NGINX 配置免费的 Let‘s Encrypt SSL/TLS 证书
众所周知,网站的 SSL/TLS 加密会为您的用户带来更靠前的搜索排名和更出色的安全性.但目前有许多障碍阻碍了网站所有者采用 SSL. 其中两个最大障碍是证书获取成本高昂和所涉人工流程繁琐.而现在,有 ...
- 正向代理和反向代理的区别Nginx配置虚拟主机流程(后续更新)
目录 目标 安装Nginx 配置虚拟主机 准备 方法一 方法二(推荐) 验证虚拟主机 正向代理和反向代理的区别 区别&案例 正向代理和反向代理流程 目标 熟练在Linux安装单机Nginx: ...
- 使用etcd+confd管理nginx配置
1.前言 最近在项目中用nginx做反向代理,需要动态生成nginx的配置.大概流程是用户在页面上新增域名.http或https协议以及端口信息,后台会根据域名自动生成一个nginx的server配置 ...
- php+php-fom+nginx配置参数调优详解
文章目录 一.前言 1.mysql配置参数: 2.注意 二.php参数配置及讲解 1.phpini的基本设置 2.php参数设置 三.php-fpm设置 1.设置子进程数,增加并发量 2.防止频繁出现 ...
- Nginx 配置https 自动续期
#安装 acme.sh curl https://get.acme.sh | sh#确保 nginx安装了 http_v2_module nginx源码目录下 ./configure --prefix ...
- 【nginx配置】 proxy_pass反向代理配置中url后面加不加/的说明
在日常的web网站部署中,经常会用到nginx的proxy_pass反向代理,有一个配置需要弄清楚:配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把loca ...
- Nginx(四):Nginx配置实战
相关阅读: Nginx(一):Nginx原理概述 与 安装步骤详解 Nginx(二):反向代理原理 与 配置文件详解 Nginx(三):负载均衡策略 与 Nginx静态服务器 Nginx(四):Ngi ...
- DBA查询命令积累——不断更新
DBA查询命令积累--不断更新 原文:DBA查询命令积累--不断更新 一.服务器配置: 1.兼容级别:兼容级别只影响指定数据库中的行为,而不会影响整个服务器上的行为. 1.1.查看数据库兼容级别及更改 ...
- [Nginx]nginx 配置实例-动静分离
nginx 配置实例-动静分离 1.什么是动静分离 Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可 ...
最新文章
- WinCE Heartbeat Message的实现
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--L-用来作弊的药水
- Django从理论到实战(part15)--自定义path转换器
- Bootstrap-CSS:表格
- TensorFlow2.0(二)--Keras构建神经网络分类模型
- 有奖投票丨HC2019开发者关注的TOP10问题你最想听哪个?
- 驰骋工作流引擎2016年第1次组团培训日程
- 查看linux系统网卡工作模式、速率等ethtool eth0
- 2017-2018-1 20155320 实验三——实时系统
- SpringMVC+Thymeleaf +HTML的简单框架
- 洛谷 P2117 小Z的矩阵
- PhpStorm-2017.3 注册激活
- 简单一招就能进行不同平台的推文转移,复制粘贴。
- 汽车 php 深圳,深圳小汽车增量调控管理信息系统查询官网
- 海康威视摄像头连接(.net)
- 测试学习-测试工具wireshark、HFS、wlan信号
- .NET工具篇(二)—GACUtil
- Pr 复古胶片老电影回忆效果
- FFMPEG AvFilter使用实例(实现视频缩放,裁剪,水印等)
- 傅里叶变换基函数可视化
热门文章
- tensorflow中的变量管理
- 生成xml_Java操作XML
- 基于视觉的在线地图:一种Transformer网络方法
- 多激光雷达外参⾃动化标定算法及代码实例
- AAAI2021论文:一个激光雷达点云的3D目标单步检测法CIA-SSD
- CV技术在医疗领域中有哪些应用?Salesforce、谷歌、斯坦福综述文章登上Nature子刊...
- 非线性优化:徒手实现LM算法
- ecplise SpringCould搭建过程---创建SpringCould父工程
- linux 删除文件夹
- XCMS | LC/MS and GC/MS Data Analysis