AI网站开发接单后如何部署上线:零基础服务器配置与验证指南
接到一个AI网站开发订单后,代码能跑通只是第一步,真正交付前需要把项目部署到服务器并确保外网可以正常访问。
下面按零基础也能照做的顺序,讲清楚从服务器准备到上线验证的完整过程。
先确认项目类型和服务器环境
不同AI生成的网站项目对运行环境要求不同。
拿到代码后先看根目录有没有package.json,如果有,通常是Node.js项目;
如果只有.html和.css文件,则是纯静态站点;
如果带requirements.txt或manage.py,则是Python项目。
确认类型后再决定服务器上装什么。
服务器建议选1核2G以上配置,系统用Ubuntu 22.04或CentOS 7以上。
购买后通过SSH登录,先更新系统包:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS
sudo yum update -y
登录后执行whoami确认当前用户有sudo权限,再继续后续操作。
如果项目需要域名访问,提前把域名解析到服务器公网IP,解析生效通常需要几分钟到几十分钟。
安装运行环境:Nginx和Node.js
Nginx负责接收外部请求并转发给后端服务,Node.js负责运行网站程序。
Ubuntu下安装命令:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
安装完成后浏览器访问服务器IP,看到Nginx欢迎页说明Web服务正常。
接着安装Node.js,建议用NodeSource源安装LTS版本:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs -y
node -v
npm -v
如果项目用到MySQL,再执行sudo apt install mysql-server -y并运行sudo mysql_secure_installation做基础安全设置。
安装完成后用sudo systemctl status mysql确认服务处于active状态。
上传代码并启动项目
把AI生成的代码上传到服务器,推荐用scp命令从本地传到服务器/var/www/目录:
scp -r ./my-project root@你的服务器IP:/var/www/
登录服务器进入项目目录,安装依赖并启动:
cd /var/www/my-project
npm install
npm run build # 如果有构建步骤
npm start # 或 node app.js,以package.json中scripts为准
启动后终端会显示监听端口,常见是3000或8080。
先在服务器本地验证:curl http://127.0.0.1:3000,有返回内容说明项目本身正常。
如果这一步就报错,先检查Node版本是否满足package.json里的engines要求,以及环境变量文件.env是否已按项目文档配置。
为了让项目在SSH断开后继续运行,用pm2托管:
sudo npm install -g pm2
pm2 start npm --name "my-site" -- start
pm2 save
pm2 startup
执行pm2 startup后按提示复制粘贴它输出的命令,确保服务器重启后项目自动拉起。
配置Nginx反向代理并放行端口
项目在3000端口运行,但外网需要走80端口。
在/etc/nginx/sites-available/下新建配置文件:
server {
listen 80;
server_name 你的域名或服务器IP;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
创建软链接启用配置并检查语法:
sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
nginx -t显示syntax is ok和test is successful才能reload。
如果服务器开了防火墙,Ubuntu用sudo ufw allow 'Nginx Full'放行80和443端口,CentOS用sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload。
云厂商控制台的安全组也要单独放行80端口,这一步经常被遗漏。
上线前必查的避坑点
端口冲突:如果Nginx默认站点占用了80端口,先禁用默认配置:sudo rm /etc/nginx/sites-enabled/default再reload。
502 Bad Gateway:通常是后端项目没启动或端口写错。
用pm2 list看进程状态,用curl 127.0.0.1:3000确认本地端口是否通。
静态资源404:纯静态项目不需要反向代理,直接把Nginx的root指向项目目录,并确认index index.html;存在。
环境变量缺失:AI生成的代码常把数据库地址、API密钥放在.env里,部署时忘记上传这个文件会导致启动失败。
用pm2 logs my-site查看具体报错。
权限问题:项目目录属主建议设为当前用户,避免Nginx读取静态文件时出现403。
执行sudo chown -R $USER:$USER /var/www/my-project。
验证交付效果
配置完成后从三个层面验证:浏览器直接访问域名或IP,页面能正常加载且样式无错乱;
打开开发者工具Network面板,确认接口请求返回200而不是502或404;
用手机4G网络访问一次,排除本地缓存干扰。
最后执行pm2 status和sudo systemctl status nginx,确认两个服务都是running状态,再交付给客户。
如果客户后续需要绑定域名和HTTPS,可以在Nginx配置就绪后用Certbot申请证书,命令为sudo apt install certbot python3-certbot-nginx -y,再执行sudo certbot --nginx按提示操作。
证书自动续期由Certbot的定时任务处理,上线后隔天用sudo certbot renew --dry-run验证续期流程是否正常。
AI网站开发接单的交付质量,很大程度上取决于部署环节是否规范。
把环境版本、端口、反向代理和日志排查这几件事做扎实,后续客户反馈问题时也能快速定位。