Nodejs项目如何发布到digitalocean(环境已配置好,新手求助,没用过ubuntu服务器)
Nodejs项目如何发布到digitalocean(环境已配置好,新手求助,没用过ubuntu服务器)
6 回复
什么意思,环境已经配置好。
1、建你的站点地址。就是FTP上传地址 基本安装是ubuntu内的vsftpd 2、安装nginx做反向代理 3、npm安装pm2 守护进程 4、使用pm2 start /var/www/xxx(ftp地址)/run.js
我基本是这么做的!
建议用pm2启动的时候给一个name
pm2 start app.js -n appname
查看pm2进程用,看到你的appname的id
pm2 list
以后停止就用id很方便
pm2 stop id
pm2 restart id
要将Node.js项目发布到DigitalOcean,你可以按照以下步骤进行操作。假设你已经创建了一个Ubuntu Droplet,并且配置好了SSH访问。
步骤1:连接到你的Droplet
首先,使用SSH连接到你的Ubuntu服务器:
ssh root@your_droplet_ip
步骤2:安装必要的软件
在服务器上安装Node.js和Nginx:
sudo apt update
sudo apt install nodejs npm nginx -y
步骤3:部署你的Node.js应用
将你的Node.js项目上传到服务器。你可以使用scp
或Git来完成这一步。
使用scp上传文件:
scp -r /path/to/your/project user@your_droplet_ip:/home/user/
使用Git:
在你的服务器上创建一个目录并克隆你的仓库:
mkdir ~/myproject
cd ~/myproject
git clone https://github.com/yourusername/yourrepo.git .
步骤4:安装项目依赖
进入项目目录并安装npm依赖:
cd ~/myproject
npm install
步骤5:设置环境变量
如果你的应用需要环境变量,可以创建一个.env
文件:
touch .env
然后添加你需要的环境变量:
PORT=3000
DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3
步骤6:运行你的Node.js应用
使用npm start
或node app.js
来启动你的应用。为了保持进程活跃,可以使用pm2
管理Node.js应用:
npm install pm2 -g
pm2 start app.js --name myapp
步骤7:配置Nginx
创建一个新的Nginx配置文件:
sudo nano /etc/nginx/sites-available/myapp
添加以下内容:
server {
listen 80;
server_name your_domain_or_IP;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
启用该站点:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
步骤8:防火墙配置
如果启用了UFW防火墙,允许HTTP流量:
sudo ufw allow 'Nginx Full'
总结
现在你应该能够通过浏览器访问你的域名或IP地址,并看到你的Node.js应用。确保所有服务都在运行,并且没有错误。
希望这些步骤对你有所帮助!