美文网首页
部署node项目官网到linux服务器

部署node项目官网到linux服务器

作者: 果好鲜 | 来源:发表于2021-05-26 20:17 被阅读0次

    一、安装git ,将项目下载到linux

    下面是可能的安装方法,不同类型的linux可能不一样

    # apt-get install git
    For Ubuntu, this PPA provides the latest stable upstream Git version
    
    # add-apt-repository ppa:git-core/ppa # apt update; apt install git
    Fedora
    # yum install git (up to Fedora 21)
    # dnf install git (Fedora 22 and later)
    
    添加公钥到阿里云

    在服务器上生成公钥/密钥(没有的情况下)
    ssh-keygen -t rsa
    默认生成到~/.ssh/文件夹下 id_rsaid_rsa.pub
    id_rsa.pub的复制到阿里云项目的公钥添加

    拉取代码

    git clone git@code.aliyun.com:companyWebsites/hainanhuixingFrontend.git

    二、安装node, 因为项目的运行需要node环境

    安装yum install npm
    安装 yum install -y nodejs
    查看版本 node -V
    如果发现node的版本太低,则需要升级

    更新node

    安装n模块:
    npm install -g n
    可以使用下面几种方法安装node
    升级node.js到最新稳定版
    n stable
    升级node.js到最新版
    n latest
    升级node.js到指定版本(推荐版本不要太高的,因为版本过高,有些依赖也要安装)
    n v6.17.1

    koa 要求 node版本要大于等于8.0.0

    安装后,通过node -v查看版本,检验是否安装成功了。

    有时候安装了也不生效,需要手动配置环境变量

    vim ~/.bash_profile 编辑

    export NODE_HOME=/usr/local/n/versions/node/8.17.0  //Node所在路径
    export PATH=$NODE_HOME/bin:$PATH
    

    修改完成后需要重新登陆才能生效,也可以执行命令 source /etc/profile 或者 source ~/.bash_profile 来生效

    假如npm安装包的过程中出错,例如以下:


    npm安装包出现错误

    ssl验证问题,使用下面的命令取消ssl验证即可解决
    npm config set strict-ssl false

    然后继续之前的步骤,好不容易安装成功了,然后检查node版本
    node -V发现以下问题

    node查看版本出现异常情况

    /usr/lib64/libstdc++.so.6这个文件的版本不够新

    1.查看gcc版本中包含哪些库。

    strings /usr/lib64/libstdc++.so.6 | grep GLIBC

    GLIBCXX_3.4 GLIBCXX_3.4.1 
    GLIBCXX_3.4.2 GLIBCXX_3.4.3 
    GLIBCXX_3.4.4 GLIBCXX_3.4.5 
    GLIBCXX_3.4.6 GLIBCXX_3.4.7 
    GLIBCXX_3.4.8 GLIBCXX_3.4.9 
    GLIBCXX_3.4.10 GLIBCXX_3.4.11 
    GLIBCXX_3.4.12 GLIBCXX_3.4.13 
    GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 
    GLIBC_2.3.2 GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    

    可以看出不包含GLIBCXX_3.4.14

    2.从网上下载高版本的libstdc++.so.6.0.13以上的版本,比如libstdc++.so.6.0.17。

    3.把libstdc++.so.6.0.17拷贝到/usr/lib64目录下。

    cp libstdc++.so.6.0.17 /usr/lib64/

    4.删除libstdc++.so.6符号连接。

    rm libstdc++.so.6

    5.新建里符号连接。

    ln -s libstdc++.so.6.0.17 libstdc++.so.6

    6.再次查看就没有问题了。

    三、安装nginx

    安装所需环境

    一. gcc 安装
    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
    yum install gcc-c++

    二. PCRE pcre-devel 安装
    PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
    yum install -y pcre pcre-devel

    三. zlib 安装
    zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
    yum install -y zlib zlib-devel

    四. OpenSSL 安装
    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
    yum install -y openssl openssl-devel

    官网下载

    下载 tar安装包 https://nginx.org/en/download.html

    wget https://nginx.org/download/nginx-1.16.1.tar.gz
    tar -zxvf nginx-1.12.0.tar.gz
    cd nginx-1.12.0
    
    配置

    使用默认配置 默认会安装到 /usr/local/nginx 目录下面的

    ./configure
    

    等价于

    ./configure --prefix=/usr/local/nginx
    
    编译安装
    make 
    make install
    

    nginx 重启,假如没有配置service nginx reload
    可以到,nginx目录下面的sbin,执行nginx -s reload命令
    加入报以下问题

    nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
    

    可以执行以下命令,就可以了

    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    

    四、安装mongodb,因为api接口项目是需要用到mongodb的

    下载软件

    mongodb软件下载网址,https://www.mongodb.org/dl/linux/x86_64-rhel62,里面有各个版本的下载链接

    cd  /data/software/
    wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.8.tgz
    
    解压程序
    tar xf mongodb-linux-x86_64-rhel62-3.2.8.tgz 
    

    主要的程序在mongodb-linux-x86_64-rhel62-3.2.8/bin目录下
    可以将bin目录的文件移到想要的目录下,但是如果不需要的话,可以忽略的

    cd mongodb-linux-x86_64-rhel62-3.2.8/bin/ 
    cp * /mongodb/bin
    
    添加环境变量到/etc/profile
    vim /etc/profile
    ###
    ...
    export PATH=$PATH:/data/software/mongodb-linux-x86_64-rhel62-3.2.8/bin
    

    修改保存后,运行命令source /etc/profile使修改生效。

    source /etc/profile
    
    管理mongodb

    假设我们的数据是在/data/mongodb目录下

    cd /data/mongodb
    ## 数据目录 data
    mkdir data
    ## 记录目录 log
    mkdir log
    

    启动:mongod --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongodb.log --port=27017 --logappend --fork
    关闭:mongod --shutdown --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongodb.log --port=27017 --logappend --fork

    参考链接:
    Linux平台安装MongoDB
    linux Mongodb部署

    五、用npm安装pm2

    pm2 是node应用进程管理器,可以让node服务在后台运行,即便关闭了服务器连接,十分好用。

    六、配置nginx

    找到nginx/conf/nginx.conf
    增加反向代理配置:

        server {
              listen 80;
              server_name www.xxx.com;
              location / {
                    proxy_pass http://127.0.0.1:7729;
              }
         }
    

    这样www.xxx.com就可以访问到http://127.0.0.1:7729的页面
    假如想通过引入外部文件的形式,可以在http下,配置include

    http {
      ...
      ...
      include vhost/*.conf
    }
    

    再在nginx/vhost/目录下增加对应的xxx.conf文件如,www.xxx.com.conf
    里面的内容和前面是一样的

           server {
              listen 80;
              server_name www.xxx.com;
              location / {
                    proxy_pass http://127.0.0.1:7729;
              }
           }
    

    相关文章

      网友评论

          本文标题:部署node项目官网到linux服务器

          本文链接:https://www.haomeiwen.com/subject/rlfryktx.html