怎么在云主机上部署网站?

HCRM技术_小炮 云主机 2025-12-29 46 5

在云主机上部署网站通常包括以下步骤,我将以通用流程进行说明,并补充不同技术栈的注意事项:

一、准备工作

**选择云服务商

- 国内:阿里云、腾讯云、华为云

- 国际:AWS、Google Cloud、DigitalOcean

- 根据需求选择配置(CPU、内存、带宽)

**连接云主机

SSH连接(Linux/Mac)
ssh username@服务器IP
Windows可使用PuTTY或WinSCP

二、基础环境搭建

**更新系统

Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
CentOS/RHEL
sudo yum update -y

**安装Web服务器

Nginx安装:

Ubuntu
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
CentOS
sudo yum install epel-release -y
sudo yum install nginx -y

Apache安装:

Ubuntu
sudo apt install apache2 -y
CentOS
sudo yum install httpd -y

**配置防火墙

开放端口(80/443)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
或使用firewalld(CentOS)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

三、部署网站

**上传网站文件

使用SCP上传(本地到服务器)
scp -r /本地路径/网站文件夹 username@服务器IP:/var/www/html/
或使用SFTP工具(FileZilla等)

**配置虚拟主机

Nginx配置示例(/etc/nginx/sites-available/your-site):

server {
    listen 80;
    server_name your-domain.com www.your-domain.com;
    root /var/www/your-site;
    index index.html index.php;
    
    location / {
        try_files $uri $uri/ =404;
    }
}

启用配置:

sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/
sudo nginx -t  # 测试配置
sudo systemctl reload nginx

**不同技术栈部署

静态网站(HTML/CSS/JS)

直接将文件放入Web目录
sudo cp -r website/* /var/www/html/

**PHP网站

安装PHP
sudo apt install php-fpm php-mysql -y
配置Nginx支持PHP
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

**Node.js应用

安装Node.js
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install nodejs
安装PM2进程管理
npm install -g pm2
启动应用
cd /var/www/your-app
npm install
pm2 start app.js --name "my-app"
pm2 startup

**Python Django

创建虚拟环境
python3 -m venv venv
source venv/bin/activate
安装依赖
pip install -r requirements.txt
使用Gunicorn启动
gunicorn --workers 3 your_project.wsgi:application

四、域名与SSL配置

**绑定域名

在域名注册商处添加A记录指向云主机IP

**配置HTTPS(免费证书)

安装Certbot
sudo apt install certbot python3-certbot-nginx -y
获取证书
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
自动续期测试
sudo certbot renew --dry-run

五、数据库配置(如需要)

MySQL安装:

sudo apt install mysql-server -y
sudo mysql_secure_installation
创建数据库和用户
mysql -u root -p
CREATE DATABASE website_db;
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON website_db.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;

六、安全加固

1、修改SSH端口

sudo nano /etc/ssh/sshd_config
修改Port 22为其他端口

2、禁用root SSH登录

PermitRootLogin no

3、配置SSH密钥登录

本地生成密钥
ssh-keygen -t rsa -b 4096
上传公钥到服务器
ssh-copy-id username@服务器IP

七、常用监控命令

查看系统资源
htop
df -h  # 磁盘空间
free -h  # 内存使用
查看网站日志
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

快速部署工具推荐

1、宝塔面板(国产,适合新手)

CentOS
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Debian
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

2、Docker部署

使用Docker Compose编排
version: '3'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./website:/usr/share/nginx/html

故障排查清单

- ✅ 检查端口是否开放:netstat -tulpn

- ✅ 检查服务状态:systemctl status nginx

- ✅ 检查防火墙设置

- ✅ 查看错误日志:journalctl -u nginx -f

- ✅ 测试端口连通性:telnet 服务器IP 80

根据你的具体技术栈选择相应的部署方式,建议先在小规模测试后再上线生产环境。

文章摘自:https://idc.huochengrm.cn/zj/22334.html

评论

精彩评论
  • 2026-01-12 03:17:02

    在云主机上部署网站需要选择云服务提供商、连接服务器等基础准备,然后搭建环境并上传配置文件等,不同技术栈如静态站点和PHP应用有不同的安装步骤和要求数据库和安全设置也很重要;故障排查清单包括检查端口和服务状态以及查看错误日志等等操作细节需要注意确保安全稳定上线生产前建议小规模测试后再大规模推广使用总结整个流程复杂需细心谨慎执行每一步以确保网站的顺利运行和数据的安全保障

  • 2026-02-07 15:54:24

    在云主机上部署网站,需购买云主机、配置环境、上传代码、设置域名解析。

  • 2026-02-14 04:23:52

    在云主机上部署网站,选好云服务提供商后需配置服务器环境、上传代码并测试运行,确保安全稳定后即可上线运营!

  • 2026-04-15 02:49:25

    在云主机上部署网站,首先需选择合适云服务提供商,配置云主机,安装操作系统和所需软件,配置域名解析,上传网站文件,设置数据库,确保网站安全稳定运行。

  • 2026-05-19 12:54:11

    在云主机上部署网站,需选择合适云服务商,配置服务器环境,上传网站文件,设置域名解析,确保网站安全稳定运行。