nginx 配置
如果需要配置反向代理,则nginx编译的时候需要有–with-http_realip_module参数,于是重新配置编译了一下,这次把大部分参数都加上了
./configure –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –pid-path=/var/run/nginx.pid –lock-path=/var/lock/nginx.lock –http-log-path=/var/log/nginx/access.log –http-client-body-temp-path=/var/lib/nginx/body –http-proxy-temp-path=/var/lib/nginx/proxy –http-fastcgi-temp-path=/var/lib/nginx/fastcgi –prefix=/usr –with-http_stub_status_module –with-http_realip_module –with-http_dav_module –with-http_flv_module –with-http_sub_module –with-http_addition_module
反向代理配置参数如下:
upstream hosts_xxx_com {
server www.destsite.com:80;
}
server {
listen 80;
server_name www.xxx.com;
access_log /var/log/nginx/xxx.host.access.log;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_pass http://hosts_xxx_com; #这个可以取任意名字,和upstream的名字相同即可
proxy_set_header x-real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
有时候需要需要保护一些目录,限制某些ip访问,可以如下设置:
location ^~ / {
allow 127.0.0.1;
allow 192.168.1.2;#服务器ip
deny all;
}
如果需要禁止整个域名的访问,可以设置在server中:
allow 192.168.1.2;#自已电脑的ip
deny all;
可以把限制ip单独弄出一个文件deny.conf,在nginx.conf中include deny.conf;。如果需要动态添加一些限制ip,则可以修改这个deny.conf文件,修改完成之后,通过信号告诉nginx,限制就生效了。
防盗链设置:使用别名配置
location /res/ {
alias /opt/Src/;
valid_referers none blocked server_names *.xxx.com ;
if ($invalid_referer) {
return 403;
}
}
nginx的信号如下:转摘自常用的 Nginx 参数和控制
通过信号对 Nginx 进行控制
Nginx 支持下表中的信号:
信号名 作用描述
TERM, INT 快速关闭程序,中止当前正在处理的请求
QUIT 处理完当前请求后,关闭程序
HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求
USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程
有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX <pid> 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。