在云主机上部署网站通常包括以下步骤,我将以通用流程进行说明,并补充不同技术栈的注意事项:
一、准备工作
- 国内:阿里云、腾讯云、华为云
- 国际: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
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
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 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
创建虚拟环境 python3 -m venv venv source venv/bin/activate 安装依赖 pip install -r requirements.txt 使用Gunicorn启动 gunicorn --workers 3 your_project.wsgi:application
四、域名与SSL配置
在域名注册商处添加A记录指向云主机IP
安装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
五、数据库配置(如需要)
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
评论
贵雅诗
回复在云主机上部署网站需要选择云服务提供商、连接服务器等基础准备,然后搭建环境并上传配置文件等,不同技术栈如静态站点和PHP应用有不同的安装步骤和要求数据库和安全设置也很重要;故障排查清单包括检查端口和服务状态以及查看错误日志等等操作细节需要注意确保安全稳定上线生产前建议小规模测试后再大规模推广使用总结整个流程复杂需细心谨慎执行每一步以确保网站的顺利运行和数据的安全保障
冯代芹
回复在云主机上部署网站,需购买云主机、配置环境、上传代码、设置域名解析。
宫昆峰
回复在云主机上部署网站,选好云服务提供商后需配置服务器环境、上传代码并测试运行,确保安全稳定后即可上线运营!
么芳洲
回复在云主机上部署网站,首先需选择合适云服务提供商,配置云主机,安装操作系统和所需软件,配置域名解析,上传网站文件,设置数据库,确保网站安全稳定运行。
雷沛
回复在云主机上部署网站,需选择合适云服务商,配置服务器环境,上传网站文件,设置域名解析,确保网站安全稳定运行。