准备工作

你需要:一台 Ubuntu 22.04 或 24.04 的云服务器(阿里云、腾讯云、AWS 均可),并能通过 SSH 登录。

ssh root@你的服务器IP

第一步:系统基础配置

更新系统

apt update && apt upgrade -y

设置时区

timedatectl set-timezone Asia/Shanghai

创建普通用户(不要直接用 root)

adduser deploy usermod -aG sudo deploy

配置防火墙

ufw allow OpenSSH ufw allow 80/tcp ufw allow 443/tcp ufw enable

第二步:安装 Nginx

apt install nginx -y systemctl start nginx systemctl enable nginx

安装完成后在浏览器访问你的服务器 IP,应该看到 Nginx 欢迎页面。

Nginx 关键目录

  • 配置文件:/etc/nginx/nginx.conf
  • 站点配置:/etc/nginx/sites-available/
  • 网站根目录:/var/www/html/
  • 日志:/var/log/nginx/

测试配置是否正确

nginx -t

改完配置后务必先测试再重启!

第三步:安装 MySQL

apt install mysql-server -y systemctl start mysql systemctl enable mysql

安全初始化

mysql_secure_installation

按提示设置 root 密码、删除匿名用户、禁止远程 root 登录等。

创建数据库和用户

mysql -u root -p CREATE DATABASE mywebsite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'webuser'@'localhost' IDENTIFIED BY '强密码'; GRANT ALL PRIVILEGES ON mywebsite.* TO 'webuser'@'localhost'; FLUSH PRIVILEGES; EXIT;

第四步:安装 PHP

apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y

检查 PHP 版本和运行状态:

php -v systemctl status php*-fpm

第五步:配置 Nginx 虚拟主机

创建站点配置文件:

nano /etc/nginx/sites-available/mywebsite

写入以下配置:

server { listen 80; server_name your-domain.com www.your-domain.com; root /var/www/mywebsite; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } location ~ /\.ht { deny all; } }

启用站点并重启 Nginx:

ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/ nginx -t systemctl reload nginx

创建网站根目录并设置权限:

mkdir -p /var/www/mywebsite chown -R www-data:www-data /var/www/mywebsite

第六步:配置 SSL 证书(HTTPS)

使用免费的 Let's Encrypt:

apt install certbot python3-certbot-nginx -y certbot --nginx -d your-domain.com -d www.your-domain.com

按提示输入邮箱并同意协议即可。证书有效期 90 天,certbot 会自动续期。

验证部署

在网站根目录创建测试文件:

echo "" > /var/www/mywebsite/index.php chown www-data:www-data /var/www/mywebsite/index.php

浏览器访问 https://你的域名/,看到 PHP 信息页即表示部署成功!