nodejs 从部署到域名访问

本文介绍在Ubuntu环境下安装Node.js及其版本管理工具npm的过程,并演示了如何使用PM2进行进程管理。此外,还详细说明了Nginx的安装与配置方法,以实现对Node.js应用的反向代理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Node.js 安装在Ubuntu上

  用如下代码下载nodejs 8.x最新版并安装,npm 也会随着一起安装

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install -y nodejs

   安装完成之后,查看Nodejs、npm的版本号

node --version
npm --version

如无错误,应该会输出对应的版本号 如下图: 

 

二、安装pm2

  
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

全局安装命令

npm install -g pm2

 pm2 启动Node 命令:

pm2 start server.js  --name dev-api

  启动成功之后可以通过pm2 list 来查看所有进程列表

 

 

三、安装Nginx 并实现反向代理

安装Nginx

sudo apt-get install nginx

启动Nginx

sudo /etc/init.d/nginx start

然后通过访问http://localhost 应该就能看到

 

表示已安装成功!

 

下一步,就是如何通过域名来访问我们的Nodejs 程序

  我已将dev-api.xxx.com 这样的二级域名 解析到我的服务器上(如不会解析的话,可以在阿里云上查看相关资料)

  1. 修改nginx的配置文件(此步骤非必须) 
    cd /etc/nginx/
    vim nginx.conf

   主要是修改 61 62 行代码。主要是因为我把所有配置文件放到了sites-available 文件中,这个是看个人的,只要是放入对应文件夹,否则无法访问。

        2. 复制一个配置文件,也可以自己新建一个,如名字为dev-api.conf

cd sites-available/    
cp default dev-api.conf

内容为:

server {
         listen 80;
         server_name dev-api.xxx.com;   #域名
         location / {
             # First attempt to serve request as file, then
             # as directory, then fall back to displaying a 404.
             proxy_pass http://localhost:8080;   #端口号
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
          }
}

配置完之后

重启一下Nginx

/etc/init.d/nginx restart

 

如果多个nodejs 程序,只要在sites-available文件中,建立所需对应的配置文件即可。

修改一下server_name xxxx.com; 和监听的端口号即可

 

 

 

 

转载于:https://www.cnblogs.com/MrLee/p/9388353.html

1. 安装Node.js和NPM 首先需要在服务器上安装Node.js和NPM(Node.js的包管理工具)。可以通过以下命令安装: ``` sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm ``` 2. 创建Node.js应用程序 创建一个Node.js应用程序,例如一个简单的Hello World程序。可以通过以下命令创建: ``` mkdir myapp cd myapp npm init ``` 然后可以创建一个名为index.js的文件,其中包含以下内容: ``` const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); ``` 3. 安装PM2 PM2是一个进程管理器,可以帮助管理Node.js应用程序的生命周期。可以通过以下命令安装: ``` sudo npm install -g pm2 ``` 4. 启动Node.js应用程序 使用PM2启动Node.js应用程序,可以通过以下命令启动: ``` pm2 start index.js ``` 5. 配置Nginx 安装Nginx并配置反向代理。可以通过以下命令安装: ``` sudo apt-get install nginx ``` 然后在Nginx配置文件中添加以下内容: ``` server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1: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; } } ``` 以上配置将用Nginx代理请求,并将它们转发到Node.js应用程序运行的端口上。 6. 重启Nginx 重启Nginx以应用配置更改,可以通过以下命令重启: ``` sudo service nginx restart ``` 现在Node.js应用程序已部署到Nginx中并可以通过域名访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值