如何在云服务器上部署企业官网的Web环境?

在云服务器上部署企业官网的 Web 环境,通常包括以下核心步骤。以下以 Linux(Ubuntu/CentOS)+ Nginx + PHP/MySQL(LAMP/LNMP)为例,提供通用且安全的部署流程:


一、前期准备

  1. 购买并配置云服务器

    • 选择合适配置(如 2 核 4G 起,根据访问量调整)
    • 操作系统推荐:Ubuntu 22.04 LTS 或 CentOS Stream 9
    • 开通必要端口(80/443 HTTP/HTTPS,22 SSH)
  2. 域名解析

    • 将域名 A 记录指向服务器公网 IP
    • (可选)配置 CDN 提速与 SSL 证书

二、基础系统加固

# 更新系统
sudo apt update && sudo apt upgrade -y  # Ubuntu
# 或
sudo yum update -y                      # CentOS

# 创建非 root 用户
sudo adduser webadmin
sudo usermod -aG sudo webadmin

# 配置 SSH 密钥登录(禁用密码登录)
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
sudo chmod 600 ~/.ssh/authorized_keys

# 修改 SSH 配置文件(/etc/ssh/sshd_config)
PermitRootLogin no
PasswordAuthentication no
Port 2222  # 可选:改默认端口增强安全

三、安装 Web 服务栈(以 LNMP 为例)

1. 安装 Nginx

sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

2. 安装 PHP 及扩展(以 PHP 8.2 为例)

sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring 
php8.2-xml php8.2-zip php8.2-bcmath -y
sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm

3. 安装 MySQL/MariaDB

sudo apt install mysql-server -y
sudo mysql_secure_installation  # 按提示设置 root 密码、移除匿名用户等

✅ 建议为网站创建独立数据库与用户:

CREATE DATABASE company_site CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'site_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON company_site.* TO 'site_user'@'localhost';
FLUSH PRIVILEGES;

四、部署网站代码

  1. 上传源码至服务器(推荐 /var/www/company-site

    sudo mkdir -p /var/www/company-site
    sudo chown -R www-data:www-data /var/www/company-site
    sudo chmod -R 755 /var/www/company-site
  2. 通过 scp、Git 拉取或 FTP/SFTP 上传项目文件
    (如 WordPress、自定义 Laravel/ThinkPHP 等)

  3. 配置 Nginx 站点(/etc/nginx/sites-available/company-site):

    server {
       listen 80;
       server_name example.com www.example.com;
       root /var/www/company-site/public;  # 注意:多数框架需指向 public 目录
       index index.php index.html;
    
       location / {
           try_files $uri $uri/ /index.php?$query_string;
       }
    
       location ~ .php$ {
           fastcgi_pass unix:/run/php/php8.2-fpm.sock;
           fastcgi_index index.php;
           include fastcgi_params;
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           fastcgi_buffer_size 128k;
           fastcgi_buffers 4 256k;
           fastcgi_busy_buffers_size 256k;
       }
    
       # 禁止访问敏感文件
       location ~ /.ht { deny all; }
       location ~ /.git { deny all; }
    }
  4. 启用站点并测试配置:

    sudo ln -s /etc/nginx/sites-available/company-site /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx

五、启用 HTTPS(必做)

使用 Let’s Encrypt 免费证书(Certbot):

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

✅ Certbot 会自动配置重定向(HTTP→HTTPS)和自动续期。

验证:

sudo systemctl status certbot.timer
curl -I https://example.com

六、安全与优化建议

类别 措施
防火墙 仅开放 22, 80, 443;UFW 示例:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
防暴力破解 安装 Fail2Ban:sudo apt install fail2ban -y,配置针对 SSH/Nginx 日志
定期备份 脚本定时备份数据库 + 网站目录到远程存储(如 AWS S3、阿里云 OSS)
监控告警 部署 Prometheus + Grafana 或云厂商自带监控(CPU/内存/磁盘/流量)
WAF 防护 可接入云 WAF 或 ModSecurity(需评估性能影响)

七、后续维护

  • 定期更新系统包与依赖:apt upgrade / yum update
  • 检查错误日志:/var/log/nginx/error.log/var/log/php8.2-fpm.log
  • 压力测试:使用 Apache Bench 或 JMeter 模拟并发访问
  • 备案(中国大陆):完成 ICP 备案后方可对外提供服务

如您有具体技术栈需求(如 Docker 部署、Kubernetes、WordPress 一键安装、静态站 + CDN 方案),我可提供更针对性的步骤与脚本模板。需要吗?

未经允许不得转载:CLOUD技术博 » 如何在云服务器上部署企业官网的Web环境?