在CentOS上配置LNMP(Linux, Nginx, MySQL, PHP)多站点主要涉及以下几个步骤:
首先,确保你已经安装了Nginx、MySQL和PHP。你可以使用以下命令来安装这些软件:
sudo yum install epel-release
sudo yum install nginx mysql-server php-fpm php-mysqlnd
启动并启用MySQL服务:
sudo systemctl start mysqld
sudo systemctl enable mysqld
运行MySQL安全脚本:
sudo mysql_secure_installation
按照提示设置root密码和其他安全选项。
编辑PHP-FPM配置文件:
sudo vi /etc/php-fpm.d/www.conf
确保以下行没有被注释掉:
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
重启PHP-FPM服务:
sudo systemctl restart php-fpm
为每个站点创建一个Nginx配置文件。假设你有两个站点:site1.com
和 site2.com
。
/etc/nginx/conf.d/site1.com.conf
)server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
/etc/nginx/conf.d/site2.com.conf
)server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
创建每个站点的根目录并设置适当的权限:
sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2
sudo chown -R nginx:nginx /var/www/site1
sudo chown -R nginx:nginx /var/www/site2
确保你的域名(例如 site1.com
和 site2.com
)已经指向你的服务器IP地址。你可以通过编辑DNS记录来实现这一点。
测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重启Nginx服务:
sudo systemctl restart nginx
确保防火墙允许HTTP和HTTPS流量:
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来安装:
sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com
按照提示完成SSL证书的安装和配置。
完成以上步骤后,你的CentOS服务器上应该已经成功配置了多个LNMP站点。