首页主机资讯Debian LNMP项目部署流程

Debian LNMP项目部署流程

时间2025-10-23 09:45:03发布访客分类主机资讯浏览1088
导读:1. 更新系统软件包 首先确保Debian系统软件包为最新版本,避免潜在兼容性问题: sudo apt update && sudo apt upgrade -y 2. 安装Nginx Web服务器 通过APT包管理器安装...

1. 更新系统软件包
首先确保Debian系统软件包为最新版本,避免潜在兼容性问题:

sudo apt update &
    &
     sudo apt upgrade -y

2. 安装Nginx Web服务器
通过APT包管理器安装Nginx,启动服务并设置开机自启:

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

验证Nginx是否运行正常,可通过浏览器访问服务器IP,若看到Nginx欢迎页面则表示安装成功。

3. 安装MariaDB/MySQL数据库
Debian默认仓库提供MariaDB(MySQL分支),安装时设置root密码:

sudo apt install mariadb-server mariadb-client -y

启动MariaDB服务并设置开机自启:

sudo systemctl start mariadb
sudo systemctl enable mariadb

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

sudo mysql_secure_installation

若需安装原生MySQL,可先卸载MariaDB再执行:

sudo apt remove --purge mariadb-server mariadb-client
sudo apt install mysql-server -y

4. 安装PHP及必要扩展
LNMP环境需要PHP处理动态内容,安装PHP-FPM(FastCGI进程管理器)及常用扩展(如MySQL、GD、CURL):

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

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

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

验证PHP是否正常工作,创建/var/www/html/info.php文件:

sudo nano /var/www/html/info.php

写入以下内容并保存:

<
    ?php phpinfo();
     ?>

通过浏览器访问http://服务器IP/info.php,若显示PHP信息页面则配置正确。

5. 配置Nginx支持PHP
编辑Nginx默认站点配置文件(路径通常为/etc/nginx/sites-available/default),修改server块以处理PHP请求:

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

确保以下配置存在(重点修改fastcgi_pass路径,需与PHP-FPM的sock文件一致):

server {
    
    listen 80 default_server;
    
    listen [::]:80 default_server;
    
    root /var/www/html;
    
    index index.php index.html index.htm;
    
    server_name _;


    location / {
    
        try_files $uri $uri/ =404;

    }


    location ~ \.php$ {
    
        include snippets/fastcgi-php.conf;
    
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
      # 根据PHP版本调整路径
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
        include fastcgi_params;

    }


    location ~ /\.ht {
    
        deny all;

    }

}
    

测试Nginx配置语法是否正确:

sudo nginx -t

若无错误,重新加载Nginx使配置生效:

sudo systemctl reload nginx

6. 创建数据库与用户
登录MariaDB/MySQL数据库:

sudo mysql -u root -p

执行以下SQL命令创建数据库(如myproject)、用户(如myuser)并授权:

CREATE DATABASE myproject CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
    
GRANT ALL PRIVILEGES ON myproject.* TO 'myuser'@'localhost';
    
FLUSH PRIVILEGES;
    
EXIT;
    

注意:将StrongPassword123!替换为高强度密码,避免使用弱密码。

7. 部署项目文件
将项目文件上传至Nginx默认根目录(/var/www/html),或自定义目录(如/var/www/myproject):

sudo mkdir -p /var/www/myproject
sudo chown -R www-data:www-data /var/www/myproject  # 设置正确的所有者(Nginx默认用户)
sudo chmod -R 755 /var/www/myproject                # 设置合理权限

通过FTP/SFTP(如FileZilla)或SCP命令上传项目文件至目标目录。

8. 测试项目运行
在浏览器中访问服务器IP或绑定域名(如http://example.com),若项目首页正常显示则部署成功。
若项目需要连接数据库,需修改项目配置文件(如config.php),填入之前创建的数据库信息:

<
    ?php
$servername = "localhost";
    
$username = "myuser";
    
$password = "StrongPassword123!";
    
$dbname = "myproject";
    

$conn = new mysqli($servername, $username, $password, $dbname);
    

if ($conn->
connect_error) {
    
    die("Connection failed: " . $conn->
    connect_error);

}
    
echo "Connected successfully";
    
?>
    

9. 可选:配置防火墙与SSL
若系统安装了UFW防火墙,允许HTTP(80)和HTTPS(443)流量:

sudo ufw allow 'Nginx Full'
sudo ufw enable  # 若未启用防火墙则执行

通过Let’s Encrypt安装免费SSL证书(需域名已解析至服务器IP):

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com  # 替换为你的域名

按照提示完成证书安装,Certbot会自动配置Nginx支持HTTPS。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian LNMP项目部署流程
本文地址: https://pptw.com/jishu/733146.html
LNMP在Debian上的扩展性探讨 LNMP在Debian上的权限设置

游客 回复需填写必要信息