debian

如何在Debian上配置LNMP多站点

小樊
37
2025-04-01 23:46:05
栏目: 智能运维

在Debian上配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)多站点涉及几个步骤。以下是一个基本的指南:

1. 安装必要的软件包

首先,更新你的包列表并安装Nginx、MySQL/MariaDB和PHP。

sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql

在安装MySQL/MariaDB时,系统会提示你设置root密码。请记住这个密码,因为你稍后会用到它。

2. 配置MySQL/MariaDB

登录到MySQL/MariaDB并创建数据库和用户。

sudo mysql -u root -p

在MySQL shell中,执行以下命令:

CREATE DATABASE site1;
CREATE DATABASE site2;

CREATE USER 'site1user'@'localhost' IDENTIFIED BY 'password1';
CREATE USER 'site2user'@'localhost' IDENTIFIED BY 'password2';

GRANT ALL PRIVILEGES ON site1.* TO 'site1user'@'localhost';
GRANT ALL PRIVILEGES ON site2.* TO 'site2user'@'localhost';

FLUSH PRIVILEGES;
EXIT;

3. 配置Nginx

为每个站点创建一个Nginx配置文件。

站点1配置

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

添加以下内容:

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

保存并退出编辑器。

站点2配置

sudo nano /etc/nginx/sites-available/site2

添加以下内容:

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

保存并退出编辑器。

启用站点配置

创建符号链接以启用这些站点配置:

sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2 /etc/nginx/sites-enabled/

测试Nginx配置

测试Nginx配置是否正确:

sudo nginx -t

如果没有错误,重新加载Nginx:

sudo systemctl reload nginx

4. 创建网站目录

为每个站点创建一个目录,并设置适当的权限:

sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2

sudo chown -R www-data:www-data /var/www/site1
sudo chown -R www-data:www-data /var/www/site2

5. 配置PHP

确保PHP-FPM正在运行:

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

6. 配置防火墙

如果你使用的是UFW(Uncomplicated Firewall),允许HTTP和HTTPS流量:

sudo ufw allow 'Nginx Full'

7. 更新hosts文件(可选)

如果你在本地测试,可以更新你的hosts文件以指向你的站点:

sudo nano /etc/hosts

添加以下行:

127.0.0.1 site1.com www.site1.com
127.0.0.1 site2.com www.site2.com

保存并退出编辑器。

8. 测试站点

现在,你应该能够通过浏览器访问site1.comsite2.com,并看到各自的PHP文件。

总结

以上步骤涵盖了在Debian上配置LNMP多站点的基本过程。根据你的具体需求,你可能需要进一步调整配置文件和权限设置。

0
看了该问题的人还看了