以aliyun为例,选购服务器建议选择CentOS, 配置按照自己的需求选择,付款成功后进入控制台页面,重置root密码即可远程登录服务器。可在控制台点击远程登录,也可在安装了ssh的主机上登录
# 查看公网ip
# 以下为示例公网ip
ssh root@150.77.1.85
# 查看公网ip
# 以下为示例公网ip
ssh root@150.77.1.85环境安装
环境安装安装node.js

# As root
curl -sL https://rpm.nodesource.com/setup_12.x | bash -

# No root privileges
curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -

yum install -y nodejs

#如需编译c++插件
yum install gcc-c++ make
# or: yum groupinstall 'Development Tools'
# As root
curl -sL https://rpm.nodesource.com/setup_12.x | bash -

# No root privileges
curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -

yum install -y nodejs

#如需编译c++插件
yum install gcc-c++ make
# or: yum groupinstall 'Development Tools'检查是否安装成功

~$ node -v
v12.16.1
~$ npm -v
6.13.0

~$ node -v
v12.16.1
~$ npm -v
6.13.0
设置淘宝npm的淘宝镜像

npm config set registry "https://registry.npm.taobao.org

npm config set registry "https://registry.npm.taobao.org
全局安装pm2

npm install pm2 -g

npm install pm2 -g
安装nginx
安装nginxNginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。下载nginx

# 首先需确认安装以下软件
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

cd /usr/local
mkdir nginx
cd nginx
#下载最新版nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz
# 拷贝到nginx文件夹
cp -r /usr/local/nginx/nginx-1.16.1/* /usr/local/nginx/
./configure
make
make install
# 首先需确认安装以下软件
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

cd /usr/local
mkdir nginx
cd nginx
#下载最新版nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz
# 拷贝到nginx文件夹
cp -r /usr/local/nginx/nginx-1.16.1/* /usr/local/nginx/
./configure
make
make install修改config

cd conf
vi nginx.conf

#修改配置文件
#省略其他不做修改篇配置

http {

server_tokens off;

include
mime.types;

default_type application/octet-stream;

#access_log logs/access.log main;

sendfile
on;

#tcp_nopush
on;


#keepalive_timeout 0;

keepalive_timeout 65;


gzip on;



# 修改此处 nginx会自动加载enabled-server下面所有的配置文件

include /usr/local/nginx/enabled-server/*;

...
}
cd conf
vi nginx.conf

#修改配置文件
#省略其他不做修改篇配置

http {

server_tokens off;

include
mime.types;

default_type application/octet-stream;

#access_log logs/access.log main;

sendfile
on;

#tcp_nopush
on;


#keepalive_timeout 0;

keepalive_timeout 65;


gzip on;



# 修改此处 nginx会自动加载enabled-server下面所有的配置文件

include /usr/local/nginx/enabled-server/*;

...
}有时候我们需要部署多个网站,所以一般新建以网站为名的配置文件,如myblog.conf
vi default.conf
# 配置文件
upstream nodepro {

server 127.0.0.1:3000; #项目运行的端口号, 按实际修改

keepalive 64;
}

server {

listen 80; #要监听的端口号

server_name xxxx.com www.xxxx.com; # 服务器名称,ip地址或域名,可以写多个,用空格隔开


location / {

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_set_header X-Nginx-Proxy true;

proxy_set_header Connection "";

proxy_pass http://nodepro; # 这里要和最上面upstream后的应用名一致,可以自定义

}
}


vi default.conf
# 配置文件
upstream nodepro {

server 127.0.0.1:3000; #项目运行的端口号, 按实际修改

keepalive 64;
}

server {

listen 80; #要监听的端口号

server_name xxxx.com www.xxxx.com; # 服务器名称,ip地址或域名,可以写多个,用空格隔开


location / {

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_set_header X-Nginx-Proxy true;

proxy_set_header Connection "";

proxy_pass http://nodepro; # 这里要和最上面upstream后的应用名一致,可以自定义

}
}

检测nginx配置是否成功

cd ..
./nginx -t
# 修改成功
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful

cd ..
./nginx -t
# 修改成功
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful
启动nginx服务器

./nginx
./nginx服务器域名备案
服务器域名备案


aliyun官网购买域名并实名认证,通过审核后可开始备案

官网有代备案系统, 点击备案专区,根据提示进行备案(3-15个工作日)

控制台点击网络与安全 -> 安全组 -> 配置规则 -> 添加安全组规则

协议类型选择要创建的规则,如mysql(3306),redis(6379),http(80/80),https(443),可自定义
aliyun官网购买域名并实名认证,通过审核后可开始备案官网有代备案系统, 点击备案专区,根据提示进行备案(3-15个工作日)控制台点击网络与安全 -> 安全组 -> 配置规则 -> 添加安全组规则协议类型选择要创建的规则,如mysql(3306),redis(6379),http(80/80),https(443),可自定义域名解析域名解析

在域名服务中找到域名列表

点击解析

点击添加记录,记录类型默认选择A,主机记录可以添加顶级域名和二级域名。解析路线默认即可,记录值添加服务器的公网IP,
在域名服务中找到域名列表点击解析点击添加记录,记录类型默认选择A,主机记录可以添加顶级域名和二级域名。解析路线默认即可,记录值添加服务器的公网IP,最后
最后最后在服务器运行你的Nodejs项目

pm2 start app.js
pm2 start app.js此时即可在外网通过域名访问网站了。此文为学习记录,如有错误,欢迎指正!