Nodejs项目如何发布到digitalocean(环境已配置好,新手求助,没用过ubuntu服务器)

Nodejs项目如何发布到digitalocean(环境已配置好,新手求助,没用过ubuntu服务器)

6 回复

Nodejs项目如何发布到DigitalOcean(环境已配置好,新手求助,没用过Ubuntu服务器)

如果你已经有一个运行在本地的Node.js项目,并且希望将其部署到DigitalOcean上,那么这篇文章将帮助你完成这个过程。我们将使用Ubuntu服务器,并假设你已经创建了一个DigitalOcean Droplet并配置好了基本的环境。

步骤1:连接到你的Droplet

首先,你需要通过SSH连接到你的DigitalOcean Droplet。如果你使用的是Mac或Linux,可以在终端中输入以下命令:

ssh root@your_droplet_ip

如果你使用的是Windows系统,可以考虑使用PuTTY等工具来连接。

步骤2:安装Node.js和npm

确保你的服务器上安装了Node.js和npm。你可以通过以下命令安装最新版本的Node.js:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

步骤3:上传你的项目文件

你可以使用scp命令从本地计算机上传项目文件到服务器。例如,假设你的项目文件夹名为my-node-app,你可以执行以下命令:

scp -r /path/to/my-node-app root@your_droplet_ip:/home/root/

步骤4:安装项目依赖

进入项目目录并安装所需的依赖包:

cd /home/root/my-node-app
npm install

步骤5:配置PM2

PM2是一个进程管理器,可以让你的应用程序始终保持运行状态。首先,全局安装PM2:

sudo npm install pm2 -g

然后,启动你的应用程序:

pm2 start app.js

如果你想让应用在重启后仍然保持运行状态,可以保存当前的PM2进程列表:

pm2 save

最后,设置PM2开机自启:

sudo pm2 startup

步骤6:设置防火墙规则

确保你的防火墙允许HTTP(端口80)和HTTPS(端口443)流量。你可以使用ufw工具来实现这一点:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

步骤7:获取你的域名解析

最后一步是配置你的域名解析。登录到你的域名注册商的网站,添加一个A记录,指向你的Droplet的IP地址。

完成以上步骤后,你应该能够通过浏览器访问你的Node.js应用了!


希望这篇指南对你有所帮助!如果有任何问题,请随时提问。


什么意思,环境已经配置好。

1、建你的站点地址。就是FTP上传地址 基本安装是ubuntu内的vsftpd 2、安装nginx做反向代理 3、npm安装pm2 守护进程 4、使用pm2 start /var/www/xxx(ftp地址)/run.js

我基本是这么做的!

除了第一条,其他的基本一样。第一条我是用GIT直接拉。

建议用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 startnode 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应用。确保所有服务都在运行,并且没有错误。

希望这些步骤对你有所帮助!

回到顶部