首页 > linux > nginx 配置

nginx 配置

2009年3月27日 roboter 发表评论 阅读评论

如果需要配置反向代理,则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 重新加载配置。

分类: linux 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.