在CentOS上部署多个Nginx站点的方案如下:
首先,确保你的CentOS系统已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install nginx
Nginx通过配置文件来管理不同的站点。每个站点通常对应一个配置文件,这些配置文件通常位于/etc/nginx/conf.d/或/etc/nginx/sites-available/目录下。
在/etc/nginx/conf.d/目录下创建一个新的配置文件,例如site1.conf:
sudo vi /etc/nginx/conf.d/site1.conf
在文件中添加以下内容:
server {
listen 80;
server_name site1.example.com;
root /var/www/site1;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
同样地,为第二个站点创建site2.conf:
sudo vi /etc/nginx/conf.d/site2.conf
添加以下内容:
server {
listen 80;
server_name site2.example.com;
root /var/www/site2;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
如果你将配置文件放在/etc/nginx/sites-available/目录下,需要创建符号链接到/etc/nginx/conf.d/目录:
sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/conf.d/site1.conf
sudo ln -s /etc/nginx/sites-available/site2 /etc/nginx/conf.d/site2.conf
确保你的域名(例如site1.example.com和site2.example.com)已经正确配置了DNS记录,指向你的服务器IP地址。
在修改配置文件后,测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重启Nginx以应用更改:
sudo systemctl restart nginx
确保防火墙允许HTTP(端口80)和HTTPS(端口443)流量:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
如果你需要为站点配置SSL,可以使用Let’s Encrypt免费证书。以下是使用Certbot安装和配置SSL的步骤:
sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx -d site1.example.com -d site2.example.com
按照提示完成SSL证书的安装和配置。
打开浏览器,访问http://site1.example.com和http://site2.example.com,确保站点能够正常访问。
通过以上步骤,你可以在CentOS上成功部署多个Nginx站点。