nginx之配置
原创
©著作权归作者所有:来自51CTO博客作者zlixing的原创作品,请联系作者获取转载授权,否则将追究法律责任
1)反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
# /etc/nginx/nginx.conf
http {
// 当通过 face.danoolive.com:80 端口访问这个服务器时
// 该请求会被转发到 127.0.0.1:9992
server {
listen 80;
server_name face.danoolive.com;
// 通过访问的路径来处理转发 ...
location / {
// 也不一定是内网 127.0.0.1 ,也可以是另外一个服务器的某个端口等 ...
proxy_pass http://127.0.0.1:9992;
}
}
// 当通过 res.danoolive.com:80 端口访问这个服务器时
// 该请求会被转发到 127.0.0.1:9991
server {
listen 80;
server_name res.danoolive.com;
location / {
proxy_pass http://127.0.0.1:9991;
}
}
}
示例:
server
{
listen 80;
server_name rap.startbaby.xyz ;
location / {
#反向代理
proxy_pass http://0.0.0.0:3333;
add_header Access-Control-Allow-Origin *;
}
access_log /home/wwwlogs/rap.startbaby.xyz.log;
}
2) 域名重定向
配置多域名, 指定一个域名进行跳转
server_name www.123.com www.456.com www.678.com;
# 判断如果访问域名不等于www.123.com,就指定到www.123.com
if ($host != 'www.123.com') {
rewrite ^/(.*)$ http://www.123.com/$1 permanent; // permanent == 301 重定向
}
3)统一跳转https
域名HTTPS跳转
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
4)PHP支持
location ~ \.php$ {
root /www/www.startbaby.xyz;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
配置优化:
1. 可配置access_log日志的buffer缓冲-刷新描述flush
access_log logs/request.access.log main buffer=256k flush=5s;
说明:
buffer=size # 存放访问日志的缓冲区大小
flush=time # 设置缓冲区的日志刷到磁盘的时间, 单位为秒
gzip # 标识压缩级别
nginx日志暂时不刷到磁盘, 而是存在内存汇总 达到256k之后再一次性的写入磁盘,避免高频词对磁盘写操作。