在CentOS上使用LNMP(Linux, Nginx, MySQL, PHP)搭建多站点环境,可以通过配置Nginx来实现。以下是详细的步骤:
首先,确保你已经安装了Nginx、MySQL和PHP。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install nginx mysql-server php-fpm php-mysqlnd
启动Nginx和MySQL服务,并设置它们开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysqld
sudo systemctl enable mysqld
登录到MySQL并创建数据库和用户:
sudo mysql -u root -p
在MySQL shell中执行以下命令:
CREATE DATABASE site1;
CREATE DATABASE site2;
CREATE USER 'site1user'@'localhost' IDENTIFIED BY 'password';
CREATE USER 'site2user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON site1.* TO 'site1user'@'localhost';
GRANT ALL PRIVILEGES ON site2.* TO 'site2user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
为每个站点创建一个Nginx配置文件。假设你的站点目录在/var/www/html/site1
和/var/www/html/site2
。
/etc/nginx/conf.d/site1.conf
)server {
listen 80;
server_name site1.example.com;
root /var/www/html/site1;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php-fpm/site1.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
/etc/nginx/conf.d/site2.conf
)server {
listen 80;
server_name site2.example.com;
root /var/www/html/site2;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php-fpm/site2.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
为每个站点配置PHP-FPM池。编辑/etc/php-fpm.d/www.conf
文件,添加以下内容:
/etc/php-fpm.d/site1.conf
)[site1]
listen = /var/run/php-fpm/site1.sock
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
/etc/php-fpm.d/site2.conf
)[site2]
listen = /var/run/php-fpm/site2.sock
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
重启Nginx和PHP-FPM服务以应用更改:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
确保你的域名(如site1.example.com
和site2.example.com
)指向你的服务器IP地址。
在浏览器中访问http://site1.example.com
和http://site2.example.com
,你应该能够看到各自的站点内容。
通过以上步骤,你就可以在CentOS上使用LNMP搭建并管理多个站点了。