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

一、安装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;
          }
       }
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容