centos7+node+ngnix部署项目

644 阅读2分钟

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 -v

D.安装一下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              # 停止 Nginx

C.当你开启了ngnix就可以去输入你的公网ip地址,就可以看到ngnix页面

3.node项目上传到你的服务器地址上:

A.这个就是ngnix的地址

/usr/local/webserver/nginx/html 

B.conf下面的ngnix.conf就是关于ngnix的一些配置

/usr/local/webserver/nginx/conf

C.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.js

F.现在就可以访问到了你项目的地址

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接口转发        
    }  
}