nodejs 从部署到域名访问
Posted Mr丶Lee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs 从部署到域名访问相关的知识,希望对你有一定的参考价值。
一、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 这样的二级域名 解析到我的服务器上(如不会解析的话,可以在阿里云上查看相关资料)
- 修改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; 和监听的端口号即可
以上是关于nodejs 从部署到域名访问的主要内容,如果未能解决你的问题,请参考以下文章
使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面