-
nginx配置管理
- 自动索引
vi /usr/local/lnmp/nginx/conf/nginx.conf
http {
charset utf-8; 在http下面添加中文乱码
在server字段里面
location /download/ {
limit_conn addr 1; #限制并发数
#limit_rate 50k; #限制带宽
autoindex on; 添加 #自动索引
测试:浏览器访问17.25.5.6/download/会自动索引到/download目录里面的内容,方便下载
-
日志轮询
vim /opt/nginxlog.sh
#!/bin/bash
cd /usr/local/lnmp/nginx/logs && mv access.log access_$(date +%F -d -1day).log
kill -USR! `cat /usr/local/lnmp/nginx/logs/nginx.pid`
加入crontab定时任务
crontab -e
00 00 * * * /opt/nginxlog.sh &> /dev/null
测试:
- 禁用不必要的日志记录,以节省磁盘IO的消耗
vim /usr/local/lnmp/nginx/conf/nginx.conf
在server字段里面
location = /status {
stub_status;
access_log off; #不查看正确的日志
error_log /dev/null; #错误日志导入垃圾箱
}
测试:浏览器访问172.25.5.6/status,
cat /user/local/lnmp/nginx/logs/access.log查看日志,不会有访问记录
- 站点目录和文件的限制
vi /usr/local/lnmp/nginx/conf/nginx.conf
在server字段下添加
location ~ ^/download/.*\.(sh|php)$ {
deny all;
}
测试:nginx -s reload
在/usr/local/lnmp/nginx/html/download目录下写westos.sh的简单脚本用于测试
浏览器输入172.25.6.5/download/westos.sh
- 限制ip
vi /usr/local/lnmp/nginx/conf/nginx.conf
在server字段
location = /status {
allow 172.25.6.250; #允许真机172.25.6.250访问
allow 127.0.0.1;
deny all;
测试:nginx -s reload
浏览器访问172.25.6.5/status
其他主机访问被拒绝
vi /usr/local/lnmp/nginx/conf/nginx.conf
在server字段的location下面
location / {
root html;
index index.html index.htm;
if ($remote_addr = 172.25.6.250) {
return 403;
}
}
测试:nginx -s reload
浏览器访问172.25.6.5,403报错,因为上面的文件限制了真机的访问
-
nginx重定向
- 防止域名恶意解析到服务器ip
vim /usr/local/lnmp/nginx/conf/nginx.conf
server {
listen 80;
server_name _;
return 500;
测试:nginx -s reload
浏览器用ip直接访问,返回500
- 也可重定向为
vim /usr/local/lnmp/nginx/conf/nginx.conf
server {
listen 80;
server_name _;
rewrite ^(.*)http://www.westos.org permanent;
测试:nginx -s reload
- 80重定向443
/usr/local/lnmp/nginx/conf/nginx.conf的最后的server字段取消注释
cd /etc/pki/tls/certs/
make cert.pem
mv cert.pem /usr/local/lnmp/nginx/conf