Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发。
命令
nginx启动
nginx -t 测试配置文件是否正确
nginx -s reload重启并更新配置
nginx -s stop停止,立即断开
nginx -s quit停止,优雅断开
nginx -s reopen重新打开日志文件access.log
nginx.conf 配置文件
worker_process..... n配置worker数,等于cpu个数*核数
一个server就是一个虚拟主机,每个虚拟主机都要配置php的连接
虚拟主机主要配置
1. 请求来的名字(eg: localhost)
2. 对应到哪个目录(location)
3.php配置 location ~ \.php$ {}
4. access_log logs/name1.access.log main; //配置日志写入到/logs/name1.access.log,格式用main
pathinfo支持
(http://localhost/index.php/a/b/c中,/a/b/c就是pathinfo)
location ~ \.php(.*)$ {
//将pathinfo添加到fastcgi的参数中,那么$_SERVER中就有这个值
fastcgi_params PATH_INFO $1;
}
rewrite url重写url
如果xxx文件不存在,就重写到/index.php/xxxx
if ( !-e $request_filename ) {
rewrite (.*)$ /index.php/$1
}
nginx对url重写提供了更简单的方法try_files
try_files $uri /index.php?$uri //先试$uri文件是否存在,如果不存在就到后一个参数
反向代理(动静分离)
location ~ \.(jpg|jpeg|png|gif)$ { //(~代表后面是正则表达式)
proxy_set_header X_Forwarded_For $remote_addr; //将用户真实Ip带给图片服务器
proxy_pass HTTP://IP:port;//将图片定位到另一台服务器
}
网友评论