一、安装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_rsa
、id_rsa.pub
,
将id_rsa.pub
的复制到阿里云项目的公钥添加
拉取代码
git clone [email protected]: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安装包的过程中出错,例如以下:
ssl验证问题,使用下面的命令取消ssl验证即可解决
npm config set strict-ssl false
然后继续之前的步骤,好不容易安装成功了,然后检查node版本
node -V
发现以下问题
是 /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;
}
}