如何在Linux LNMP上部署网站
导读:在 Linux LNMP 上部署网站的实操指南 一 准备与系统要求 建议使用受支持的发行版与版本:CentOS 7/8/9、Debian 10+、Ubuntu 18.04+,并确保系统已更新、具备 sudo/root 权限与稳定网络。 安...
在 Linux LNMP 上部署网站的实操指南
一 准备与系统要求
- 建议使用受支持的发行版与版本:CentOS 7/8/9、Debian 10+、Ubuntu 18.04+,并确保系统已更新、具备 sudo/root 权限与稳定网络。
- 安全与合规:避免使用已 EOL 的系统(如 CentOS 6,其官方源已于 2020-11-30 下线),以免依赖与安全问题无法解决。
- 访问与端口:确保云服务器安全组/本机防火墙放行 TCP 80/443;如需域名访问,提前完成 DNS A 记录 解析到服务器公网 IP。
二 两种部署路径
-
路径A 手动搭建 LNMP(以 CentOS 7 为例,稳定、可控)
- 安装 Nginx
- 创建源:/etc/yum.repos.d/nginx.repo,内容:
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1 - 安装与启动:
yum install -y nginx
systemctl start nginx & & systemctl enable nginx
- 创建源:/etc/yum.repos.d/nginx.repo,内容:
- 安装 MariaDB
yum install -y mariadb-server mariadb
systemctl start mariadb & & systemctl enable mariadb
mysql_secure_installation(按向导设置 root 密码与加固项) - 安装 PHP 与 PHP-FPM
yum install -y php php-fpm php-mysqlnd
systemctl start php-fpm & & systemctl enable php-fpm - 配置 Nginx 与 PHP 联动(示例)
- 编辑:/etc/nginx/conf.d/default.conf,关键片段:
server {
listen 80;
root /usr/share/nginx/html;
server_name localhost;
index index.php index.html;
location / { try_files $uri $uri/ =404; }
error_page 500 502 503 504 /50x.html;
location = /50x.html { root /usr/share/nginx/html; }
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
} - 检查并重载:nginx -t & & systemctl reload nginx
- 编辑:/etc/nginx/conf.d/default.conf,关键片段:
- 环境自检
echo “” > /usr/share/nginx/html/info.php
浏览器访问:http://服务器IP/info.php 应看到 PHP 信息页。
- 安装 Nginx
-
路径B 使用 LNMP 一键安装包(适合快速交付)
- 要求:系统需满足 CentOS 8+、Debian 10+、Ubuntu 18.04+ 等;安装前可自定义网站目录、PHP 模块等。
- 步骤:
screen -S lnmp
wget https://soft.lnmp.com/lnmp/lnmp2.2.tar.gz -O lnmp2.2.tar.gz
tar zxf lnmp2.2.tar.gz & & cd lnmp2.2 & & ./install.sh lnmp - 安装完成后会提示 Nginx/MySQL/PHP OK,常见端口 80/3306 处于监听状态。
三 部署你的网站
- 创建站点目录与权限(示例以域名 example.com 为例)
mkdir -p /var/www/example.com
chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com - 上传代码(方式任选其一)
- SFTP/SCP 上传到 /var/www/example.com
- 或 Git 克隆:git clone /var/www/example.com
- 新增 Nginx 虚拟主机配置
- CentOS/RHEL 系:/etc/nginx/conf.d/example.com.conf
- Debian/Ubuntu 系:/etc/nginx/sites-available/example.com 并软链至 /etc/nginx/sites-enabled/
- 示例配置:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public;
index index.php index.html;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ .php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
location ~ /.ht { deny all; }
} - 检查并重载:nginx -t & & systemctl reload nginx
- 数据库准备(示例)
mysql -u root -p
CREATE DATABASE example DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘exuser’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
GRANT ALL PRIVILEGES ON example.* TO ‘exuser’@‘localhost’;
FLUSH PRIVILEGES;- 导入数据:mysql -u exuser -p example < backup.sql
- 应用配置与调试
- 在应用配置中设置数据库主机为 localhost、数据库/用户/密码为上一步创建的值。
- 查看错误日志定位问题:/var/log/nginx/error.log 与 PHP-FPM 日志。
四 安全与优化要点
- 启用 HTTPS(推荐)
- 使用 Let’s Encrypt/Certbot 获取免费证书,配置 Nginx 的 ssl_certificate / ssl_certificate_key 并开启 HTTP/2;证书续期可配置定时任务自动更新。
- 防火墙与端口
- 仅放行必要端口(如 80/443),避免使用不安全或过时协议/端口。
- PHP 与 FPM 安全
- 仅启用业务所需扩展;限制 FPM 监听地址与权限;隐藏版本信息;设置合适的 open_basedir(如需要)。
- 文件与目录权限
- Web 目录属主与运行用户一致(如 www-data),敏感目录禁止执行脚本(如 .ht 或自定义上传目录)。
- 常规加固
- 定期更新系统与软件包;数据库使用强口令与最小权限;备份策略(代码与数据库)与回滚预案。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Linux LNMP上部署网站
本文地址: https://pptw.com/jishu/752503.html
