温馨提示×

怎样部署linux lnmp网站

小樊
50
2026-09-09 16:59:59
栏目: 云计算

下面给你一套从零部署 Linux + LNMP(Linux + Nginx + MySQL/MariaDB + PHP)网站的通用流程,适用于 CentOS / Rocky / Alma / Ubuntu / Debian。你可以按需选择手动部署或用一键脚本。


一、准备工作

1. 系统要求

  • Linux 服务器(云服务器 / 虚拟机)
  • 推荐系统:
    • CentOS 7/8(或 Rocky/Alma)
    • Ubuntu 20.04 / 22.04
  • 有 root 或 sudo 权限

2. 基本设置

# 更新系统
apt update && apt upgrade -y   # Ubuntu/Debian
yum update -y                  # CentOS

二、安装 LNMP(推荐方式)

✅ 方式一:一键安装(新手最推荐)

LNMP 官方一键包

wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz
tar zxf lnmp2.0.tar.gz
cd lnmp2.0
./install.sh lnmp

安装过程选择:

  • MySQL 5.7 / 8.0
  • PHP 7.4 / 8.1
  • Nginx 默认

安装完成后:

lnmp

✅ 方式二:手动安装(Ubuntu 示例)

1. 安装 Nginx

apt install nginx -y
systemctl enable nginx
systemctl start nginx

2. 安装 MySQL

apt install mysql-server -y
mysql_secure_installation

3. 安装 PHP

apt install php-fpm php-mysql -y

三、配置网站

1. 创建网站目录

mkdir -p /www/wwwroot/example.com
chown -R www-data:www-data /www/wwwroot/example.com

2. 配置 Nginx

vim /etc/nginx/sites-available/example.com

示例配置:

server {
    listen 80;
    server_name example.com;

    root /www/wwwroot/example.com;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

启用配置:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

四、部署网站代码

1. 上传代码

  • FTP
  • scp
  • git
scp -r ./web root@ip:/www/wwwroot/example.com

2. 测试 PHP

echo "<?php phpinfo(); ?>" > /www/wwwroot/example.com/index.php

浏览器访问:

http://服务器IP

五、数据库配置

mysql -u root -p
CREATE DATABASE site_db;
CREATE USER 'site_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON site_db.* TO 'site_user'@'localhost';
FLUSH PRIVILEGES;

网站配置文件中填写:

数据库:site_db
用户:site_user
密码:password

六、域名 & HTTPS(推荐)

1. 解析域名

  • A 记录 → 服务器 IP

2. 安装 SSL

apt install certbot python3-certbot-nginx -y
certbot --nginx -d example.com

七、常见管理命令

# Nginx
systemctl restart nginx

# PHP
systemctl restart php-fpm

# MySQL
systemctl restart mysql

八、常见问题

❌ 403 Forbidden
→ 目录权限或 index 文件问题

❌ 502 Bad Gateway
→ PHP-FPM 未启动或 socket 路径错误

❌ 网站打不开
→ 防火墙 / 安全组未放行 80/443


如果你告诉我:

  • 用的 系统版本
  • 网站类型(WordPress / 自研 PHP / Laravel)
  • 是否用 宝塔 / Docker

我可以直接给你精确部署方案

0