离线部署文档
Nginx
安装 Nginx
内网镜像源是没有 Nginx 的,需要在网站先下载好。https://nginx.org/en/download.html
推荐以管理员身份 root 进行安装,其余软件我均使用身份 tksm 进行安装
解压安装包,并切换到 nginx 目录下
bash$ tar -zxvf nginx-1.22.1.tar.gz $ cd nginx-1.22.1 $ pwd /home/tksm/intercity/nginx-1.22.1
编译 Nginx 的安装目录
bash$ ./configure --prefix=/usr/local/nginx
报错 1:服务器缺少 gcc 编译器
- 解决方案:安装 gcc 编译器和 make 命令
bash[root]$ yum install -y gcc gcc-c++ make
报错 2:服务器环境缺少 nginx 基本环境
- 解决方案:安装 nginx 所需的基础环境
bash$ yum -y install openssl openssl-devel pcre gd-devel zlib-devel
执行编译,编译成功
bash$ ./configure --prefix=/usr/local/nginx
+ OpenSSL library is not used
可以忽略不管,后期需要可再次进行处理安装 Nginx
bash$ make && make install
显示离开目录,即安装成功
nginx 启动命令目录为
bash/usr/local/nginx/sbin/nginx
启动 Nginx
可以直接进入安装目录启动 Nginx,不过不推荐这样,最好把 Nginx 添加到服务中
- 手动创建
nginx.service
$ yum install -y vim
$ vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
添加可执行权限,并重新加载服务
$ chmod +x /usr/lib/systemd/system/nginx.service
$ systemctl daemon-reload
启动 Nginx,并设置开启自启
$ systemctl start nginx
$ systemctl enable nginx
查看 Nginx 状态
前端部署目录结构
配置我已经修改好,需要额外增加配置,请把配置文件放到 conf
目录下
web 目录存放前端静态资源文件
启动后问题
无法访问页面
- 解决方案:把服务器防火墙关闭
$ systemctl stop firewalld
$ systemctl disable firewalld
页面报 500。访问资源权限被拒绝,因为 worker 进程所属于 nobody 用户
- 解决方案:在 conf 文件里增加如下内容即可
$ vim /usr/local/nginx/conf/nginx.conf
user root;
Java
安装 Java
在官网下载 Java 安装包 https://www.oracle.com/java/technologies/download
- jdk8,需要先注册 Oracle 账号才能下载,官网下载还是很快的
$ tar -zxvf jdk-8u391-linux-x64.tar.gz
$ pwd
/home/tksm/software/jdk1.8.0_391/
# 给jenkins 使用
$ tar -zxvf jdk-17_linux-x64_bin.tar.gz
修改环境变量
修改环境变量文件
$ cd ~
$ vim .bashrc
export JAVA_HOME=/home/tksm/software/jdk1.8.0_391
export PATH=$JAVA_HOME/bin:$PATH
$ source .bashrc
检查是否配置成功
Jenkins
安装 Jenkins
启动 Jenkins
- 如需指定端口号,可以追加
--httpPort=xxx
来指定
nohup /home/tksm/software/jdk-17.0.9/bin/java -jar /home/tksm/software/jenkins.war >/dev/null 2>&1 &
创建用户:
- 账号:jpadmin
- 密码:afcuser
安装插件
...暂时不安装额外插件
MongoDB
安装 MongoDB
去官网选择对应版本进行下载
$ tar -zxvf mongodb-linux-x86_64-rhel80-3.6.23.tgz
$ pwd
/home/tksm/software/mongodb-linux-x86_64-rhel80-3.6.23
创建 logs 和 data 目录,创建 mongodb.log 文件
$ cd ~
$ mkdir data
$ cd data
$ mkdir -p mongodb/logs mongodb/data
$ touch mongodb/logs/mongodb.log
修改环境变量
$ cd ~
$ vim .bashrc
export MONGODB_HOME=/home/tksm/software/mongodb-linux-x86_64-rhel80-3.6.23
export PATH=$MONGODB_HOME/bin:$PATH
$ source .bashrc
编辑启动脚本
$ mongod -f /home/tksm/software/mongo.conf
修改密码
登录 mongodb,默认没有密码直接登录
$ mongo
创建用户
use admin;
db.createUser({user:'root', pwd:'mongo@123', roles:[{role:'root', db:'admin'}]});
db.createUser({user:'admin',pwd:'admin@123',roles:[{role:'root',db:'admin'}]});
# 验证账号是否授权成功, 1 验证成功,0 验证失败
db.auth("root","mongo@123");
db.auth("admin","admin@123");
Node
安装 Node
去官网选择对应版本进行下载
$ tar -zxvf node-v16.20.0-linux-x64.tar.gz
$ pwd
/home/tksm/software/node-v16.20.0-linux-x64
修改环境变量
$ cd ~
$ vim .bashrc
export NODE_HOME=/home/tksm/software/node-v16.20.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
$ source .bashrc
YAPI
设置私库地址
$ npm config set registry http://198.216.41.86:9094/repository/all_node_modules/
安装 pm2
$ npm i -g pm2
启动 YAPI
$ pm2 start /home/tksm/software/yapi/vendors/server/app.js --name yapi
查看启动进程
$ pm2 list
SYN
下载必须文件以及依赖文件:
- apr-1.7.4.tar.gz: http://apr.apache.org/download.cgi
- apr-util-1.6.3.tar.gz: http://apr.apache.org/download.cgi
- sqlite-autoconf-3450100.tar.gz: https://www.sqlite.org/download.html
- zlib-1.2.11.tar.xz: https://linux.softpedia.com/get/Programming/Libraries/zlib-159.shtml
- subversion-1.14.3.tar: http://subversion.apache.org/download/
安装 SVN
使用 root 账号,创建 svn 账号,之后切换 svn 账号进行登录
[root]
$ useradd svn
$ passwd svn
Tkykp3q#2019
把压缩文件都放在 software
目录里,之后解压文件
$ tar -zxvf apr-1.7.4.tar.gz
$ tar -zxvf apr-util-1.6.3.tar.gz
$ tar -zxvf sqlite-autoconf-3450100.tar.gz
$ tar -xvf zlib-1.2.11.tar.xz
$ tar -zxvf subversion-1.14.3.tar.gz
安装 apr-1.7.4
$ cd apr-1.7.4
$ pwd
/home/svn/software/apr-1.7.4
$ ./configure --prefix=/home/svn/software/apr-1.7.4
$ make && make install
安装 apr-util-1.6.3
$ cd apr-util-1.6.3
$ pwd
/home/svn/software/apr-util-1.6.3
$ ./configure --prefix=/home/svn/software/apr-util-1.6.3 --with-apr=/home/svn/software/apr-1.7.4
$ make && make install
安装 apr-util-1.6.3 时出现报错
解决方案:安装 expat 依赖
bash$ yum install -y expat expat-devel
安装 zlib
$ cd zlib-1.2.11
$ pwd
/home/svn/software/zlib-1.2.11
$ ./configure --prefix=/home/svn/software/zlib-1.2.11
安装 subversion
- 安装之前需要将 aqlite 包 移到 subversion 目录
$ mkdir subversion-1.14.3/sqlite-amalgamation
$ mv sqlite-autoconf-3450100/* subversion-1.14.3/sqlite-amalgamation
$ cd subversion-1.14.3
$ pwd
/home/svn/software/subversion-1.14.3
$ ./configure --prefix=/home/svn/software/subversion-1.14.3 --with-apr=/home/svn/software/apr-1.7.4 --with-apr-util=/home/svn/software/apr-util-1.6.3 --with-zlib=/home/svn/software/zlib-1.2.11 --with-lz4=internal --with-utf8proc=internal
$ make && make install
安装 subversion 时出现报错,无法生成 Makefile 文件:
- 追加
--with-lz4=internal
参数
- 追加
--with-utf8proc=internal
参数
修改环境变量
修改环境变量文件
$ cd ~
$ vim .bashrc
export SVN_HOME=/home/svn/software/subversion-1.14.3
export PATH=$SVN_HOME/bin:$PATH
$ source .bashrc
检查是否配置成功
SVN 配置修改
在 subversion 中包含有服务端和客户端,在执行命令时需要分清服务端命令和客户端命令
服务端命令:
- svnserver:控制 svn 系统服务的启动
- svnadmin:svn 版本库的创建/导入/导出/删除等
- svnlook:查看版本库的信息
客户端命令:
- svn:版本库的检出、更新、提交、重定向等
首先,需要创建 svn 版本库
$ pwd
/home/svn
$ mkdir data
$ svnadmin create /home/svn/data
在创建的这个版本库下会自动创建 svn 相关的配置文件
切换到 conf 目录下,修改 svnserve 配置文件
$ cd data/conf
$ vim svnserve.conf
添加用户名和密码
- 格式:
用户名 = 密码
$ vim passwd
[users]
admin = admin123
usera = usera123
userb = userb123
other = other123
配置用户权限
groups
:用户组配置,该配置的格式为组名等于用户名列表,每个用户需要用逗号隔开,每一行表示一个用户组[/]
:指定根目录配置用户组权限:- 读(r):在客户端可以跟新服务器上的代码到本地
- 写(w):在客户端可以提交代码到服务器
$ vim authz
[groups]
admin = admin
user = usera,userb
other = other
[/]
@admin = rw
@user = rw
@other =
启动 SVN
$ svnserve -d -r /home/svn/data
重启 svn
- 注意:pid 需要改为你看到的
$ ps -ef | grep svnserve
svn 82007 1 0 16:01 ? 00:00:00 svnserve -d -r data/
svn 82073 20493 0 16:13 pts/0 00:00:00 grep svnserve
$ kill -9 82007
$ svnserve -d -r /home/svn/data