Debian LNMP项目部署流程
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