1.先购买阿里云服务器,打开阿里云服务器下载node
A.官网下载地址:nodejs.org/en/download…
B.安装node链接:按照下面一步一步进行安装
wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
mv node-v10.16.0-linux-x64.tar.xz /usr/local/
cd /usr/local/
xz -d node-v10.16.0-linux-x64.tar.xz
tar -xvf node-v10.16.0-linux-x64.tar
ln -s node-v10.16.0-linux-x64 nodejs
rm -fr node-v10.16.0-linux-x64.tar
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/bin/node /usr/local/bin/C.检查node和npm是否安装成功
node -v
npm -vD.安装一下pm2建立服务永久开启
npm install -g pm2 全局安装E.全局找不到pm2 status,就建立软连接
ln -s 是建立软连接命令 /usr/local/nodejs/bin/node 这个是你node安装的目录(其他如果你也想在全局可以使用命令操作,同理,也可以使用软件)
ln -s /usr/local/nodejs/bin/node /usr/local/bin/pm2 start index.js 开启
pm2 stop index.js 停止2.安装ngnix
A.https://www.runoob.com/linux/nginx-install-setup.html
B.关于ngnix一些命令
/usr/local/webserver/nginx/sbin/nginx #开启
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 NginxC.当你开启了ngnix就可以去输入你的公网ip地址,就可以看到ngnix页面
3.node项目上传到你的服务器地址上:
A.这个就是ngnix的地址
/usr/local/webserver/nginx/html B.conf下面的ngnix.conf就是关于ngnix的一些配置
/usr/local/webserver/nginx/confC.ngnix配置你的node端口转发地址
server {
listen 80;#监听端口
server_name baidu.com;#域名或者是ip地址
location / {
proxy_pass http://127.0.0.1:3000;
}
}D.当你配置好了ngnix,ngnix命令开启
/usr/local/webserver/nginx/sbin/nginx E.开启node服务,index.js就是你node项目中的文件
pm2 start index.jsF.现在就可以访问到了你项目的地址
4.之前我不太清楚,就走了一些弯路,我的Vue项目地址和node借口地址都是同一个域名,就导致了开了就会起冲突,要不就是Vue打包后的项目可以进行访问,要不就是node接口地址可以访问。我之后的解决办法是设置二级域名,这样就解决了问题。
比如你的域名是xxx.com,
你设置二级域名为api.xxx.com 这个为接口地址
email.xxx.com为你的项目访问地址
server {
listen 80;#监听端口
server_name email.xxx.com;#域名
index index.html index.htm index.php;
root /usr/local/webserver/nginx/html;#站点目录
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
root /usr/local/webserver/nginx/html;
expires 30d; # access_log off;
}
location ~ .*\.(js|css)?$ {
expires 15d;
# access_log off;
} access_log off;
}
server {
listen 80;#监听端口
server_name api.xxx.com;#域名
location / {
proxy_pass http://127.0.0.1:3000; // node接口转发
}
}