加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Linux系统配置Nodejs环境的最简单步骤,部署多个thinkjs(node

发布时间:2020-12-15 07:17:41 所属栏目:安全 来源:网络整理
导读:1、去官网下载和自己系统匹配的文件: ?英文网址: ?中文网址: 建议去英文网站下载 ,因为中文这边没有给出稳定版,目前稳定版8点多。最新版是10点多 2、查看linux系统的位数? 通过 ?uname -a ?命令查看到我的Linux系统位数是64位(备注:x86_64表示64位系

1、去官网下载和自己系统匹配的文件:

?英文网址:

?中文网址:

建议去英文网站下载 ,因为中文这边没有给出稳定版,目前稳定版8点多。最新版是10点多

2、查看linux系统的位数?

通过 ?uname -a ?命令查看到我的Linux系统位数是64位(备注:x86_64表示64位系统, i686 i386表示32位系统),如图

选择64位

3、下载下来的tar文件上传到服务器并且解压

我使用的xshell中的rz命令来上传文件

在xshell中输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行? yum? ?-y? install? lrzsz命令进行安装。

安装成功后,输入rpm -qa?lrzsz 命令确认是否正确安装

?

输入rz或者re -y,选择刚才下的压缩包

?

现在开始解压

tar -xvf node-v8.-linux-x64.tar.xz

?

修改文件夹(目录)的名字

mv node-v8.12.0-linux-x64 nodejs

?

4、执行软连接

注意:确认一下nodejs下bin目录是否有node 和npm文件,如果有执行软连接,如果没有重新下载执行上边步骤

?

确认有node和npm文件了

执行软链接

ln -s /home/cxs/install/nodejs/bin/npm /usr//bin/ ln -s /home/cxs/install/nodejs/bin/node /usr/local/bin/

发现自己没有权限,然后找老大要来root账号

下面是root权限下执行

ok了,回到自己用户下

ok了

?5、安装pm2,通过pm2启动node可以使关闭终端时node依然运行。

?

进入后端代码的跟目录,通过npm i 安装后端代码需要的库,启动node

pm2 start index.js

说明,没有配制到全局,虽然安装到全局,不知道为啥,linux下不像windows下能自动创造一个环境变量去实现我们的全局。所以我们需要创建一个linux下的软连接。

下面红框就是pm2的安装路径,连接到全局环境路径

下面出现的都是全局环境路径,选哪一个都可以,我选的是红框的全局环境变量/usr/local/bin

?建立连接

ln -s /home/cxs/install/nodejs/bin/pm2 /usr/local/bin/

使用pm2 list验证是否成功建立连接

pm2 list

?

说明pm2全局安装成功,并且可以随处访问pm2,我试试我的账号是不是也可以使用pm2命令

出现这个,说明其他账号也可以全局都可以使用pm2

?5、thinkjs项目,使用pm2 start pm2.json?来启动项目

切换到自己的账号上,需要全局变量时候没有权限的时候采用root账号

上传项目代码,使用xshell的rz -y来

执行

pm2 start pm2.json

出现上图应该就算启动起来了

但是我想看一下项目启动之后访问情况,怎么搞,这时候需要祭出nginx

6、nginx使用

?已经部署完成,但是公网访问出现问题,出现502,

发现是nginx配置的问题,

方案一:把nginx的实际访问地址172.31.231.103:8362修改为127.0.0.1:8362

upstream weekly_node

方案二:把项目node的启动主机host(127.0.0.1)修改为0.0.0.0

附上完整的nginx服务配置

error_log logs/<span style="color: #000000;">error.log;

error_log logs/<span style="color: #000000;">error.log notice;

error_log logs/<span style="color: #000000;">error.log info;

pid logs/<span style="color: #000000;">nginx.pid;

events <span style="color: #008000;">{<span style="color: #008000;">
worker_connections 1024;
<span style="color: #008000;">}<span style="color: #000000;">

http <span style="color: #008000;">{<span style="color: #008000;">
include mime.types;
default_type application/octet-stream;

sendfile        on;

keepalive_timeout  65;

upstream weekly_node {
    server 172.31.231.103:8362;
</span><span style="color: #008000;"&gt;}</span><span style="color: #000000;"&gt;          
server </span><span style="color: #008000;"&gt;{</span><span style="color: #008000;"&gt;
    listen  80;
    server_name  localhost;
    charset utf-8; 

    #weekly static
    location /weekly/ {
        #root   /home/fastdfs/nginx/weekly/dist;
        alias /home/fastdfs/nginx/weekly/dist/;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html last;
        #root  html;
        #index   index.html;
    </span><span style="color: #008000;"&gt;}    #nodejs服务方向代理</span><span style="color: #000000;"&gt;
    location </span>/weekly_node/ <span style="color: #008000;"&gt;{</span><span style="color: #008000;"&gt;
        proxy_pass http://weekly_node;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 10m;
        client_body_buffer_size 128k;
        proxy_connect_timeout 90;
        proxy_send_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;

    </span><span style="color: #008000;"&gt;}</span><span style="color: #000000;"&gt;

}   

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读