ngnix可以说是广大web开发者最常用的代理服务器之一了,由于其操作简单方便、高效、跨平台、可拓展性等优点,开发者常用其作为中间代理网站业务,尤其是php开发者。
使用ngnix代理自己开发的网站,你甚至不用考虑各项配置的问题,直接在网上找一份配置代码复制粘贴就能成果运行了,只要改改对应的监听端口、域名、指向地址和脚本地址等信息。
但要使得ngnix代理的服务器安全又高效,就需要对ngnix进行较为深入的学习,以下我将共享我当前最常用的ngnix配置代码,希望大家能通过这些代码对ngnix有更深入的理解,如果出现错误也希望诸位批评指正。
server {
listen {PORT};
# listen [::]:{PORT};
# 网站的域名
server_name {HOST};
# 程序的安装路径
root {APP_PATH};
# 日志路径
access_log /var/log/nginx/{HOST}.access.log;
error_log /var/log/nginx/{HOST}.error.log;
index index.php;
# 配置内网访问,这里可以自定义需要限制访问的路径
location /admin {
deny 192.168.1.1;
allow 127.0.0.0/24;
allow 192.168.0.0/16;
allow 10.10.0.0/16;
deny all;
try_files $uri $uri/ /index.php?_url=$uri&$args;
}
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?_url=$uri&$args;
}
# 配置设置图片格式文件
location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {
# 过期时间为3年
expires 3y;
# 关闭日志记录
access_log off;
# 关闭gzip压缩,减少CPU消耗,因为图片的压缩率不高。
gzip off;
}
# 配置css/js文件
location ~* \.(css|js)$ {
access_log off;
expires 3y;
}
# 禁止用户上传目录下所有.php文件的访问,提高安全性,放在以下配置前才能生效
location ~* ^/upload/.*\.(php|php5)$ {
deny all;
}
# 设置php解析器
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
以上,感谢阅读