首页主机资讯LNMP架构下网站部署流程

LNMP架构下网站部署流程

时间2025-12-04 09:15:03发布访客分类主机资讯浏览742
导读:LNMP架构下网站部署流程 一 环境准备与组件安装 准备一台运行 Linux 的服务器(常见发行版:Ubuntu/Debian/CentOS/openSUSE),确保系统已更新并具备 sudo 权限。 安装 Nginx: Ubuntu/...

LNMP架构下网站部署流程

一 环境准备与组件安装

  • 准备一台运行 Linux 的服务器(常见发行版:Ubuntu/Debian/CentOS/openSUSE),确保系统已更新并具备 sudo 权限。
  • 安装 Nginx
    • Ubuntu/Debian:sudo apt update & & sudo apt install -y nginx & & sudo systemctl enable --now nginx
    • CentOS 7:创建 /etc/yum.repos.d/nginx.repo(baseurl 指向 https://nginx.org/packages/mainline/centos/7/$basearch/),然后 sudo yum install -y nginx & & sudo systemctl enable --now nginx
  • 安装数据库(二选一或并存):
    • Ubuntu/Debian:sudo apt install -y mariadb-server & & sudo systemctl enable --now mariadb
    • CentOS 7:sudo yum install -y mariadb-server & & sudo systemctl enable --now mariadb
      完成后执行 mysql_secure_installation 做基础加固(设置 root 密码、移除匿名用户等)。
  • 安装 PHP 与 PHP-FPM(选择与项目兼容的版本,如 PHP 8.2/8.3):
    • Ubuntu/Debian:sudo apt install -y php-fpm php-mysql php-xml php-curl php-gd
    • CentOS 7:sudo yum install -y php-fpm php-mysql(按需补充扩展)
      启动并设置开机自启:sudo systemctl enable --now php-fpm
  • 防火墙放行 HTTP/HTTPS(80/443)
    • firewalld:sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
    • ufw(Debian/Ubuntu):sudo ufw allow ‘Nginx Full’
      以上步骤覆盖主流发行版的基础安装与启动,后续以 Nginx 与 PHP-FPM 联动为核心进行站点部署。

二 Nginx与PHP-FPM联动配置

  • 选择一种 FastCGI 方式并保持一致(推荐 Unix Socket,性能更佳):
    • Unix Socket(常见于 Debian/Ubuntu):
      1. 编辑 PHP-FPM 池配置(如:/etc/php/8.x/fpm/pool.d/www.conf),确认 listen = /run/php/php8.x-fpm.sock
      2. 在 Nginx 站点配置中:
        location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.x-fpm.sock; }
    • TCP 端口(常见于 CentOS 7 示例):
      1. 编辑 PHP-FPM 池配置,确认 listen = 127.0.0.1:9000
      2. 在 Nginx 站点配置中:
        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; }
  • 通用优化与安全:
    • 根目录与索引:root /var/www/yourdomain.com; index index.php index.html;
    • 路由尝试:location / { try_files $uri $uri/ =404; }
    • 隐藏敏感文件:location ~ /.ht { deny all; }
  • 检查并重载:
    • 语法检查:sudo nginx -t
    • 生效:sudo systemctl reload nginx
      以上两种联动方式及关键指令可直接用于生产环境的基础配置。

三 数据库创建与初始化

  • 登录数据库:mysql -u root -p
  • 创建库与用户并授权:
    • CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • CREATE USER ‘your_user’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
    • GRANT ALL PRIVILEGES ON your_db.* TO ‘your_user’@‘localhost’;
    • FLUSH PRIVILEGES;
  • 导入初始数据(如有):mysql -u your_user -p your_db < your_schema.sql
  • 安全建议:避免使用 root 远程登录,限制数据库端口仅本地监听,定期备份(如 mysqldump)。
    以上流程适用于 MySQL/MariaDB,能满足绝大多数 PHP 应用的初始化需求。

四 站点部署与验证

  • 准备站点目录与权限:
    • sudo mkdir -p /var/www/yourdomain.com
    • sudo chown -R www-data:www-data /var/www/yourdomain.com(Debian/Ubuntu)或 nginx:nginx(CentOS/RHEL)
    • sudo chmod -R 755 /var/www/yourdomain.com
  • 部署代码:通过 SFTP/rsync/Git 将应用上传至站点根目录。
  • 配置虚拟主机(多站点推荐):
    • Ubuntu/Debian:在 /etc/nginx/sites-available/ 创建 yourdomain.com,然后软链到 /etc/nginx/sites-enabled/,并 reload Nginx。
  • 功能验证:
    • 访问 http://yourdomain.com 检查首页;
    • 创建 /var/www/yourdomain.com/info.php:,访问 http://yourdomain.com/info.php 验证 PHP-FPM 解析与扩展加载;确认无误后删除 info.php。
  • 可选 HTTPS:使用 Let’s Encrypt/certbot 获取免费证书并自动配置 Nginx,启用 HTTP/2 与自动续期。
    以上步骤完成代码上线与连通性验证,确保 PHP 与数据库正常协作。

五 常见问题与优化建议

  • 502 Bad Gateway:多为 PHP-FPM 未运行或 fastcgi_pass 地址/权限不匹配;检查 php-fpm 状态、监听地址与 socket 文件权限(如 /run/php/ 属主与权限)。
  • 403 Forbidden:目录无索引文件或权限不足;确认 index 指令与目录权限(755/644),以及 SELinux/AppArmor 策略。
  • 404 Not Found:路由规则不当;确认 try_files 与伪静态配置正确(如 WordPress 的固定链接需支持 PATH_INFO)。
  • 性能与安全:开启 OPcache、静态资源缓存与 Gzip;限制请求方法;隐藏版本信息;定期更新系统与组件;数据库与备份策略自动化。
    这些排查与优化项覆盖上线初期最常见的问题与基础加固方向。

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


若转载请注明出处: LNMP架构下网站部署流程
本文地址: https://pptw.com/jishu/763227.html
LNMP环境下数据库备份策略 LNMP服务器监控工具推荐

游客 回复需填写必要信息