为云服务器(VPS)增加一个站点支持-创新互联

我的vps(Ubuntu+Nginx+Mariadb+Wordpress)之前支持两个站点,现在想再增加一个站点支持,可是已经忘记了之前是如何配置的。
必应了一下(现在很少百度了,本想谷歌又用不了,哎...why?) 得到的答案是需要操作如下两个目录:

站在用户的角度思考问题,与客户深入沟通,找到公主岭网站设计与公主岭网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名雅安服务器托管、企业邮箱。业务覆盖公主岭地区。
/etc/nginx/sites-available/
/etc/nginx/sites-enabled/

一个是有效的网站配置文件目录,一个是启用。
首先在/etc/nginx/sites-available/创建该站点的配置文件:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/public_html;
    index index.html;
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;
}

server_name:应与此服务器块配置匹配的域。
root:Nginx将在其中提供域文件的目录。
access_log,error_log:指定日志文件的位置。
可以将配置文件命名为任意名称,但是通常最好使用域名。

然后,要启用新的服务器配置文件,需要创建一个从文件到sites-enabled目录的符号链接,Nginx在启动过程中会读取该链接,命令如下:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试Nginx配置的语法是否正确:
sudo nginx -t
如果没有错误,输出将如下所示:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新启动Nginx服务,以使更改生效:
sudo systemctl restart nginx
这个时候,将测试用的index.html放到新增站点的根目录下面,在新增域名的dns中录入vps的IP地址,使新增的域名能够解析到这个vps的公网ip上。最后,在浏览器上输入新增的域名,如果出现了测试index.html内容说明成功了。
可是问题来了,输入新增的域名后,出来的网页竟然是之前的站点内容,为什么呢?哪里出错了?
这时候,我想起在执行nginx -t命令测试配置语法是否正确时,输出信息有这样一行:
nginx: configuration file /etc/nginx/nginx.conf test is successful
里面提到配置文件:/etc/nginx/nginx.conf ,那么就看一下这个文件吧,文件内有这样几行:
 

# Virtual Host Configs
        ##
        include /etc/nginx/conf.d/*.conf;
        #include /etc/nginx/sites-enabled/*;

注意#include /etc/nginx/sites-enabled/*; sites-enabled被屏蔽了,这是是否是sites-enabled中的设置就不起作用了呢?起作用的是“include /etc/nginx/conf.d/*.conf”?
于是
# cd /etc/nginx/conf.d
#ll
看到了之前以站点命名的两个conf配置文件,复制其中一个改名为新增域名后,用vi修改成这样:

server {
listen 80;
server_name example.com;
root /var/www/example.com/public_html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args ;
}
location ~ /favicon.ico {
access_log off;
log_not_found off;
}
location ~ \.php$ {
try_files $uri /index.php;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log /var/log/nginx/$host-access.log;
error_log /var/log/nginx/wpms-error.log;
}

然后,重新启动nginx
sudo systemctl restart nginx
再次在浏览器输入新增域名,发现ok了。

看来存在两套机制支持多站点,一个是/etc/nginx/sites-available/和/etc/nginx/sites-enabled/;另一个是在/etc/nginx/conf.d下写各自站点的配置文件。使用哪一个机制由
/etc/nginx/nginx.conf 中的下面几条语句确定:
 

# Virtual Host Configs
        ##
        include /etc/nginx/conf.d/*.conf;
        #include /etc/nginx/sites-enabled/*;

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章名称:为云服务器(VPS)增加一个站点支持-创新互联
本文网址:http://scyanting.com/article/dppjii.html