建议虚拟主机配置文件路径
小编在这里有个习惯,对虚拟主机进行配置时内容写进另外一个文件,然后通过include指令包含进来,这样更便于维护和管理。
http {
include /etc/nginx/conf.d/*.conf;
}
在这里,因为小编的 nginx
是安装在 /etc
目录下的 所以 include
引入的时候直接放在 nginx/conf.d
目录下,这里的 *.conf
是匹配所有的 .conf
文件
创建虚拟主机
在 conf.d
目录下创建一个以 .conf
结尾的文件,在这里我们命名为项目名称 test.com.conf
切记 在里面 用 server{}
包裹起来 代码演示如下
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name test.com;
root /mnt/d/www/swoft;
index index.php;
access_log /mnt/d/log/test.com/access.log;
error_log /mnt/d/log/test.com/error.log;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_buffering off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_connect_timeout 300;
# fastcgi_send_timeout 300;
# fastcgi_read_timeout 300;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
配置内容细解
-
charset
在这里是设置字符串解析为utf-8
-
client_max_body_size
设置文件上传的最大的容量,在这里小编设置的是128M,需要多大设置多大,但是介意在一定的区间即可。 -
listen
监听端口,在这里小编的监听端口为80端口,如果使用fpm的话,可以实现端口共存 -
service_name
虚拟域名 -
root
项目文件存放路径 -
index
项目入口文件 -
access_log
成功日志存放路径(必须存在此路径和文件,不然nginx
会报异常 [找不到文件]) -
error_log
错误日志存放路径(必须存在此路径和文件,不然nginx
会报异常 [找不到文件])
在这里基本的配置文件基本介绍完毕,如无其他特殊需求请直接跳转到配置host文件
location路径详解
host文件配置
修改window && nginx 下的 hosts文件。
window下hosts文件路径在 C:\Windows\System32\drivers\etc
目录下
nginx
下 hosts
文件路径在 /etc
目录下
示例:
在host文件下添加上 127.0.0.1 test.com
这里的 127.0.0.1
是指访问本地ip, test.com
是虚拟主机的配置,对应配置文件中的 server_name
主机名称
运行虚拟主机
- 重载nginx配置:
./nginx -s reload
- 查看nginx配置文件是否正确:
nginx -t
- 重启nginx:
sudo service nginx start
- 浏览器输入
test.com
检测虚拟主机是否配置成功
在这里,nginx的配置文件已经全部介绍完毕,在这里小编使用fpm(FastCGI 进程管理器)管理项目,如果想了解fpm 可以看小编的关于fpm的介绍博客