debian

Debian LNMP虚拟主机如何设置

小樊
37
2025-10-02 00:58:15
栏目: 云计算

Debian LNMP虚拟主机设置步骤

1. 更新系统软件包

首先确保系统软件包为最新版本,避免兼容性问题:

sudo apt update && sudo apt upgrade -y

2. 安装Nginx(Web服务器)

安装Nginx并启动服务,设置开机自启:

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

验证Nginx是否运行:浏览器访问服务器IP,应看到Nginx默认欢迎页面。

3. 安装MySQL/MariaDB(数据库)

选择MySQL或MariaDB(推荐MariaDB,更轻量):

sudo apt install mariadb-server mariadb-client -y  # MariaDB
# 或
sudo apt install mysql-server -y                  # MySQL

启动数据库服务并设置开机自启:

sudo systemctl start mariadb
sudo systemctl enable mariadb

运行安全脚本加固数据库(设置root密码、移除匿名用户、禁止远程root登录等):

sudo mysql_secure_installation

4. 安装PHP及扩展(后端支持)

安装PHP-FPM(FastCGI进程管理器)及常用扩展(如MySQL、GD、MBString等):

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y

启动PHP-FPM并设置开机自启:

sudo systemctl start php7.4-fpm  # 根据PHP版本调整(如php8.2-fpm)
sudo systemctl enable php7.4-fpm

5. 配置PHP-FPM与Nginx通信

编辑PHP-FPM池配置文件(默认路径/etc/php/7.4/fpm/pool.d/www.conf),确保listen指令与Nginx配置一致:

sudo nano /etc/php/7.4/fpm/pool.d/www.conf

找到listen行,修改为Unix socket(性能更优):

listen = /run/php/php7.4-fpm.sock

保存退出后,重启PHP-FPM使配置生效:

sudo systemctl restart php7.4-fpm

6. 配置Nginx虚拟主机

6.1 创建虚拟主机配置文件

/etc/nginx/sites-available/目录下新建配置文件(如yourdomain.com.conf):

sudo nano /etc/nginx/sites-available/yourdomain.com.conf

添加以下内容(替换yourdomain.com为你的域名,/var/www/yourdomain.com为网站根目录):

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com;
    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/php7.4-fpm.sock;  # 必须与PHP-FPM的listen一致
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;  # 禁止访问.htaccess文件
    }
}

保存退出。

6.2 启用虚拟主机

创建符号链接,将配置文件链接到sites-enabled目录(Nginx实际读取的目录):

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

7. 测试Nginx配置并重载

测试配置文件语法是否正确:

sudo nginx -t

若输出syntax is oktest is successful,则重载Nginx使配置生效:

sudo systemctl reload nginx

8. 创建网站目录并设置权限

创建网站根目录,并修改所有者为Nginx运行的用户(www-data):

sudo mkdir -p /var/www/yourdomain.com
sudo chown -R www-data:www-data /var/www/yourdomain.com

9. 创建测试页面

在网站根目录下创建index.php,用于验证PHP是否正常运行:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/yourdomain.com/index.php

浏览器访问http://yourdomain.com,应看到PHP信息页面(若未绑定域名,可通过修改本地/etc/hosts文件映射IP到域名)。

10. 可选:配置SSL证书(免费)

使用Let’s Encrypt为网站添加HTTPS加密:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

按照提示完成证书申请(自动配置Nginx的SSL监听端口443)。

注意事项

0
看了该问题的人还看了