配置nginx.conf
#管理员设置
user root;
#开启进程数,CPU核数的1~2倍
worker_processes 8;
events {
#最大连接数设置(Linux本身对于每个进程的最大连接数有限制,所以先运行命令:ulimit -sHn 65535)
worker_connections 65535;
}
配置单个站点
每个server对应一个站点:
server
{
#监听的端口
listen 80;
#站点域名
server_name localhost;
#网站根目录
root "/usr/share/nginx/html";
location /
{
#默认打开文件名称
index index.html index.htm index.php;
#是否显示网站目录
#autoindex on;
}
#设置PHP的转发访问
location ~ \.php(.*)$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#用于兼容thinkphp
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
#设置php文件查找路径一般设置为:$document_root$fastcgi_script_name
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#用于兼容thinkph
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
# 以下两段是让客户端的浏览器缓存图片的JS文件
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
#缓存30天
expires 30d;
}
location ~ .*\.(js|css)?$
{
#缓存一小时
expires 1h;
}
#自定义错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
多站点配置
多站点配置比较简单,复制单站点文件,修改相关配置即可。但是在Linux中设计权限问题,这个尤为重要。我在配置多站点的时候,将网站根目录设置为“/home/admin/www“,访问html静态文件的时候可以正常访问,但是访问PHP文件的时候总是出现404错误,在不断检查后发现,虽然www的目录权限为755,但是admin目录的权限却为700,导致文件无法访问。