applezxy
千岩万壑不辞劳,远看方知出处高,溪涧岂能留得住,终归大海作波涛。

大部分步骤参考:https://www.cnblogs.com/jackson-yqj/p/11043770.html

Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)

 

Linux服务部署Yapi

一,介绍与需求

 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10。

 2,首先安装wget,用于下载node等其他工具

1 yum install -y wget

 编译依赖 gcc 环境

1 yum install gcc-c++

二,Node安装配置

第一步:下载Node

1 wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz

第二步:解压下载的Node包

1 xz -d node-v10.13.0-linux-x64.tar.xz
2 tar -xf node-v10.13.0-linux-x64.tar

第三步:配置node和npm

注意:node所在目录,我的node目录是~/node-v10.13.0-linux-x64 即在:登录的root目录下

1 ln -s ~/node-v10.13.0-linux-x64/bin/node /usr/bin/node
2 ln -s ~/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm

第四步:检测是否成功

输入node -v 和 npm -v,如果看到版本号,即表示成功 如下图所示:

三,Mongdb安装配置

 第一步:下载Mongodb

1 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.10.tgz    # 下载

第二步:解压并拷贝到指定目录

tar -zxvf mongodb-linux-x86_64-4.0.10.tgz                                   # 解压
mv  mongodb-linux-x86_64-4.0.10/ /usr/local/mongodb                         # 将解压包拷贝到指定目录

第三步:配置系统环境变量

vim  /etc/profile

会提示文件已存在,输入“e”,回车,然后键盘按下“i” ,进入编辑模式即可。在文件的最后加上:

#mongodb
export PATH=$PATH:/usr/local/mongodb/bin

第四步:创建MongoDB数据存放文件夹和日志记录文件夹

1 mkdir -p  /data/db
2 mkdir -p /logs

第五步:创建MongoDB运行时使用的配置文件

1,进入bin目录下:cd  /usr/local/mongodb/bin

2,创建mongodb.conf配置文件:vim mongodb.conf

会提示是new file,直接输入下面内容:

复制代码
1 dbpath = /data/db #数据文件存放目录
2 logpath = /logs/mongodb.log #日志文件存放目录
3 port = 27017 #端口
4 fork = true #以守护程序的方式启用,即在后台运行
5 noauth = true # 不进行安全验证
6 #auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
7 bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
复制代码

最后“Esc”,按下“:”,输入“wq”保存退出vim编辑模式即可。注意:注释符号#和数据之间必须是一个空格。

第六步:启动MongoDB服务

1,进入bin目录下:cd  /usr/local/mongodb/bin

2,加载配置文件方式启动:./mongod  -f  mongodb.conf

即:MongoDB在Linux上的安装完毕

第七步:检测是否启动成功

查看端口映射检查是否启动成功:netstat -nltp|grep mongod 

如出现以上信息,则表示启动成功

其他常用命令

1,关闭服务

./mongod  --shutdown
1 pkill mongod

直接关掉进程

查看pid:ps -ef | grep mongo   结果的第二列就是pid

kill  -9  pid 强制杀死 不建议使用 可能会导致数据丢失

创建Mongodb账号

进入bin目录下: cd  /usr/local/mongodb/bin

运行mongo命令:mongo

四,Git安装配置

  第一步:下载Git

1 wget https://github.com/git/git/archive/v2.14.1.zip

 第二步:安装依赖

1 yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker unzip

 第三步:解压

1 unzip v2.14.1.zip

第四步:如果已安装,则移除老版本git

1 yum -y remove git

第五步:将git安装到/usr/local/git上

先进入git-2.14.1文件夹, 编译,安装

cd git-2.14.1

make prefix=/usr/local/git all

make prefix=/usr/local/git install

 第六步:配置环境变量

1 vi /etc/profile

在底部加上

export PATH=$PATH:/usr/local/git/bin

 第七步:使环境变量生效

1 source /etc/profile

 第八步:验证是否安装完成

1 git --version

看到版本号,即表示安装成功

五,Yapi部署

 第一步:安装

1 npm install -g yapi-cli --registry https://registry.npm.taobao.org

 第二步:配置yapi

1 ln -s ~/node-v10.13.0-linux-x64/bin/yapi /usr/bin/yapi

 第三步:启动配置

如果不进行第二步,配置,可能会找不到yapi

yapi server

 第四步:打开浏览器界面化配置部署

 

出现如下信息,则表示部署成功

 第五步:启动服务器

node vendors/server/app.js &

注意末尾需要加上&,否则关闭linux堡垒机当前连接,则服务就关闭了。

出现如下信息,则表示启动成功

在浏览器输入:http://127.0.0.1:3000/ 界面如下:

六,Nginx安装配置反向代理

 第一步:安装所需环境

1,PCRE pcre-devel 安装

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

1 yum install -y pcre pcre-devel

2,zlib 安装

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

1 yum install -y zlib zlib-devel

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

yum install -y openssl openssl-devel

 第二步:下载Nginx

1 wget -c https://nginx.org/download/nginx-1.15.8.tar.gz

 第三步:解压

tar -zxvf nginx-1.15.8.tar.gz
cd nginx-1.15.8

 第四步:配置

1,使用默认配置

1 ./configure

2.自定义配置(不推荐)

复制代码
 1 ./configure \
 2 --prefix=/usr/local/nginx \
 3 --conf-path=/usr/local/nginx/conf/nginx.conf \
 4 --pid-path=/usr/local/nginx/conf/nginx.pid \
 5 --lock-path=/var/lock/nginx.lock \
 6 --error-log-path=/var/log/nginx/error.log \
 7 --http-log-path=/var/log/nginx/access.log \
 8 --with-http_gzip_static_module \
 9 --http-client-body-temp-path=/var/temp/nginx/client \
10 --http-proxy-temp-path=/var/temp/nginx/proxy \
11 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
12 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
13 --http-scgi-temp-path=/var/temp/nginx/scgi
复制代码

注意:将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

 第五步:编译安装

1 make
2 make install

 第六步:查看安装目录

1 whereis nginx

 第七步:配置反向代理

  修改配置文件nginx.config

1 cd /usr/local/nginx/conf
2 vim nginx.conf

在配置文件中添加反向代理,YApi页面使用websocket, 所以,nginx配置需要支持ws:

复制代码
 1 upstream yapi {
 2   server 127.0.0.1:3000 weight=5;
 3 }
 4 
 5 server {
 6     listen       80;
 7     server_name  localhost www.yapi.top;
 8     #charset koi8-r;
 9     #access_log  logs/host.access.log  main;
10 
11     location / {
12       proxy_pass  http://yapi;
13       proxy_set_header Host $host;
14       proxy_set_header  X-Real-IP        $remote_addr;
15       proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
16       proxy_set_header X-NginX-Proxy true;
17       proxy_set_header Connection "upgrade";
18       proxy_set_header Upgrade $http_upgrade;
19     }
20 }
复制代码

 第八步:启动Nginx

1 cd /usr/local/nginx/sbin/
2 ./nginx 

效果如下:

其他常用命令与介绍

./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

查询nginx进程:

1 ps aux|grep nginx

1.先停止再启动(推荐):
对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

1 ./nginx -s quit
2 ./nginx

2.重新加载配置文件:
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:

1 ./nginx -s reload

3.开机自启动

即在rc.local增加启动代码就可以了。

1 vim /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx
设置执行权限:

1 chmod 755 rc.local

七,遇到的问题

 7.1,问题:在执行第五项 Yapi部署的第一步时,一直提示连接超时

解决办法:去掉该命令的--registry https://registry.npm.taobao.org,直接执行npm install -g yapi-cli 

7.2,问题:在执行第五项第四步,本地打开服务器网址时,一直显示空白页,服务器端报超时错误

解决办法:多试几次,访问网址后,耐心等待

7.3,问题:在可视化部署页面,点击开始部署,报错:

解决办法:参考链接:https://www.showdoc.com.cn/p/b9c1a4929cee24add87f02b58c40a02f

在服务器将对应的报错代码删掉即可。

 

posted on 2021-07-07 18:20  applezxy  阅读(483)  评论(0编辑  收藏  举报