ubuntu

Ubuntu LNMP如何配置多站点访问

小樊
41
2025-08-03 05:54:47
栏目: 智能运维

在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)以支持多站点访问,可以按照以下步骤进行:

1. 安装Nginx

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

sudo apt update
sudo apt install nginx

2. 配置Nginx服务器块

Nginx使用服务器块(server blocks)来处理不同的域名请求。你需要为每个站点创建一个单独的服务器块文件。

创建站点目录

为每个站点创建一个目录来存放网站的文件:

sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html

创建服务器块文件

/etc/nginx/sites-available目录下为每个站点创建一个服务器块文件。例如,为site1.com创建一个文件:

sudo nano /etc/nginx/sites-available/site1.com

在文件中添加以下内容:

server {
    listen 80;
    server_name site1.com www.site1.com;

    root /var/www/site1.com/html;
    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/php7.4-fpm.sock; # 根据你的PHP版本调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存并关闭文件。

启用站点

创建一个符号链接将站点文件链接到sites-enabled目录:

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

3. 测试Nginx配置

测试Nginx配置是否正确:

sudo nginx -t

如果配置正确,你会看到类似以下的输出:

nginx: configuration file /etc/nginx/nginx.conf test is successful

4. 重新加载Nginx

重新加载Nginx以应用新的配置:

sudo systemctl reload nginx

5. 配置MySQL数据库

为每个站点创建一个数据库和用户,并授予相应的权限。你可以使用phpMyAdmin或命令行来完成这些操作。

使用命令行创建数据库和用户

CREATE DATABASE site1_db;
CREATE USER 'site1_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON site1_db.* TO 'site1_user'@'localhost';
FLUSH PRIVILEGES;

6. 配置PHP-FPM

确保PHP-FPM正在运行,并且Nginx可以连接到它。你可以使用以下命令启动和启用PHP-FPM:

sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm

7. 配置DNS

确保你的域名(如site1.comsite2.com)已经指向你的服务器IP地址。你可以在你的DNS提供商的控制面板中进行配置。

8. 测试站点

打开浏览器,访问你的站点(如http://site1.com),确保一切正常工作。

通过以上步骤,你可以在Ubuntu上配置多个站点访问。每个站点都有自己的目录、Nginx服务器块、数据库和PHP-FPM配置。

0
看了该问题的人还看了