centos

centos lnmp如何实现多站点管理

小樊
36
2025-05-19 05:32:00
栏目: 智能运维

在CentOS上使用LNMP(Linux, Nginx, MySQL, PHP)搭建多站点环境,可以通过配置Nginx来实现。以下是详细的步骤:

1. 安装必要的软件

首先,确保你已经安装了Nginx、MySQL和PHP。如果没有安装,可以使用以下命令进行安装:

sudo yum install epel-release
sudo yum install nginx mysql-server php-fpm php-mysqlnd

2. 启动并启用服务

启动Nginx和MySQL服务,并设置它们开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

sudo systemctl start mysqld
sudo systemctl enable mysqld

3. 配置MySQL

登录到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;

4. 配置Nginx

为每个站点创建一个Nginx配置文件。假设你的站点目录在/var/www/html/site1/var/www/html/site2

站点1配置文件 (/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;
    }
}

站点2配置文件 (/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;
    }
}

5. 配置PHP-FPM

为每个站点配置PHP-FPM池。编辑/etc/php-fpm.d/www.conf文件,添加以下内容:

站点1配置 (/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

站点2配置 (/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

6. 重启服务

重启Nginx和PHP-FPM服务以应用更改:

sudo systemctl restart nginx
sudo systemctl restart php-fpm

7. 配置DNS

确保你的域名(如site1.example.comsite2.example.com)指向你的服务器IP地址。

8. 测试站点

在浏览器中访问http://site1.example.comhttp://site2.example.com,你应该能够看到各自的站点内容。

通过以上步骤,你就可以在CentOS上使用LNMP搭建并管理多个站点了。

0
看了该问题的人还看了