兄弟分行做了一个客户信息管理系统,架构是后台管理系统+小程序的配置。后台管理系统即一个网站的部署,小程序使用了低码平台开发,可以远程推送在手机上测试。本文档主要用于网站部署过程的记录。
一、服务器基础配置
1. Java11安装
下载安装包:https://www.oracle.com/java/technologies/downloads/#java11
安装包名称:jdk-11.0.18_linux-x64_bin.tar.gz
上传JDK至云服务器:/usr/local
解压JDK:
1
2
3
4
5
6
7
8# 创建目录
mkdir /usr/local/java
# 解压文件到指定目录(查看是否有lib、bin文件夹)
tar -zxvf ./jdk-11.0.18_linux-x64_bin.tar.gz -C /usr/local/java
#删除安装包
rm -f jdk-11.0.18_linux-x64_bin.tar.gz配置java的环境变量:
1
2
3
4
5
6
7
8
9
10
11
12# 打开配置文件
vi /etc/profile
#点击i进入编辑模式,在文件末尾添加
export JAVA_HOME=/usr/local/java/jdk-11.0.18
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
#按Esc键退出编辑,最后输入 :wq 保存编辑,并回车退出(注意有“:”)
# 刷新环境变量
source /etc/profile验证java是否安装成功
1
2
3
4
5java -version
成功示例:
java version "11.0.18" 2023-01-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.18+9-LTS-195)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.18+9-LTS-195, mixed mode)创建软链接:
1
2# 创建软链接
ln -s /usr/local/java/jdk-11.0.18/bin/java /usr/bin参考链接:https://cloud.tencent.com/developer/article/2080307
参考链接:https://blog.csdn.net/dubhe_zhao/article/details/125387612
2.mysql 安装
从官网下载用于Linux的Mysql安装包:
1
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
解压安装包:
1
tar xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
移动解压后的文件:
1
mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql
在/usr/local/mysql目录下新建data文件夹:
1
mkdir /usr/local/mysql/data
修改mysql配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#进入配置文件
vi /etc/my.cnf
#以下为添加内容:
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
log-error=/usr/local/mysql/data/error.log
lower_case_table_names=1
# skip-grant-tables
#
# include all files from the config directory
#esc键退出,输入 :wq 并回车更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限:
1
2chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql如报错:chown: invalid user: ‘mysql:mysql’
执行以下语句之后,再重新授权:
1
2
3
4
5
6
7
8
9#方法一:
chattr -ia /etc/passwd
chattr -ia /etc/group
chattr -ia /etc/shadow
chattr -ia /etc/gshadow
yum install mysql-server
#方法二:
useradd -d /var/lib/mysql mysql编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码):
1
2cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql测试启动mysql服务器
1
/usr/local/mysql/support-files/mysql.server start
添加软连接,并重启mysql服务
1
2
3ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart如果root用户的密码遗失,需重置。因后端密码写死,密码需设置为固定密码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38#进入配置文件
vi /etc/my.cnf
#设置mysql免密
skip-grant-tables
#退出编辑,重启mysql
service mysql restart
#进入mysql数据库:
[root@VM-4-2-centos bin]# mysql
#切换为mysql
mysql>use mysql;
#如果更新密码时报错:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'
mysql> update user set host = '%' where host = 'localhost' and user = 'root';
#刷新权限:
mysql>flush privileges;
#设置root用户新密码:
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'new_passowrd';
#刷新权限:
mysql>flush privileges;
#退出mysql
mysql>exit;
#进入配置文件
vi /etc/my.cnf
#设置mysql需要密码:
# skip-grant-tables
#退出编辑,重启mysql
service mysql restart整体流程参考:https://blog.csdn.net/Box_clf/article/details/124599166
开启服务器的3306防火墙规则;
开启mysql8.0的远程连接功能:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#进入数据库中
mysql -u root -p 'new_passowrd'
#切换数据库
use mysql;
#开启root用户远程访问权限:
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
#刷新权限
FLUSH PRIVILEGES;
#退出mysql
exit;
#重启mysql
service mysql restart使用navicat远程连接mysql数据库,新建数据库sxh:
1
配置:字符集 utf8mb4,排序规则 utf8mb4_0900_ai_ci;
迁移表结构及数据:
1
2
3
41.右击连接名:shfruit;
2.选择“运行SQL文件”;
3.文件选择目标文件,编码默认UTF-8;
4.点击“开始”;
参考链接:https://cloud.tencent.com/developer/article/2081683
参考链接:https://www.cnblogs.com/nnnyg/p/15609532.html
参考链接:https://blog.csdn.net/z15711187787/article/details/124986309
3.Nginx 安装
下载源码包:
1
2wget http://nginx.org/download/nginx-1.19.3.tar.gz -P /usr/local
cd /usr/local安装nginx依赖包:
1
2
3
4yum -y install gcc pcre-devel zlib-devel
- gcc: 源码编译工具
- pcre-devel: nginx url_rewrite 功能提供包
- zlib-devel: nginx 压缩功能提供包解压nginx源码,并进入源码包:
1
2tar xf nginx-1.19.3.tar.gz
cd nginx-1.19.3配置nginx源码:
1
2
3
4
5./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
配置目的:
1)检查环境 是否 满足安装条件 依赖解决
2)指定安装方式 配置文件 命令文件 各种文件放哪里 开启模块功能【内置模块 三方模块】
3)指定软件安装在那里安装nginx:
1
make install
nginx的启动及测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
14#配置文件测试
/usr/local/nginx/sbin/nginx -t
#启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#停止
/usr/local/nginx/sbin/nginx -s stop
#重载
/usr/local/nginx/sbin/nginx -s reload
#杀掉nginx
/usr/local/nginx/sbin/nginx -s quit
#测试
使用浏览器访问nginx默认网站
[root@zutuanxue ~]# http://服务器对应IP修改配置文件
1
vi /usr/local/nginx/conf/nginx.conf
nginx的启动及测试:
二、系统前后端部署
1.后端部署
新建 /usr/local/jar 文件夹;
将投产的jar包复制到该目录下;
将自动运行脚本 start.sh 文件复制到该目录下;
执行命令:
1
2
3
4cd /usr/local/jar
./start.sh
#若无权限则执行 chmod u+x start.sh
2.前端部署
- 根目录下新建/web/mercury-sxh-service-web-prod/文件夹
- 前端打包dist文件部署至/web/mercury-sxh-service-web-prod/
- 低代码小程序的前端文件部署至/web/static/files
3.nginx配置
按照示例文件进行配置,主要是域名及默认跳转路径的调整。
https://blog.csdn.net/lin5188230/article/details/124009508
https://blog.csdn.net/weixin_41709748/article/details/127604499
三、疑难杂症报错记录
1.装了四五台服务器,突然遇到这个错误,真滴绝,找半天不知道咋解决,记录一下:
1 | #报错日志: |