准备工作
安装包明细
data
├── adms
│ ├── server
│ │ └── server.tar.gz // 应用后端代码
│ │
│ └── web
│ └── dist.tar.gz // 应用web端代码
│
├── java
│ └── jdk-8u341-linux-x64.tar.gz // jdk压缩包
│
├── mysql
│ └── mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar // Mysql数据库程序包
│
├── nacos
│ └── nacos-server-2.0.3.tar.gz // Nacos程序包
│
├── nginx
│ └── nginx-1.22.0.tar.gz // Nginx程序包
│
├── redis
│ └── redis-6.2.7.tar.gz // Nginx程序包
│
└── tools
├── lsof-4.93.2-4.ky10.x86_64.rpm
├── net-tools-2.0-0.54.ky10.x86_64.rpm // 网络工具
├── tar-1.32-2.ky10.x86_64.rpm // 解压工具
├── telnet-0.17-76.ky10.x86_64.rpm
└── vim-enhanced-8.2-34.p01.ky10.x86_64.rpm // 文本编辑器
文件上传
将安装包上传到服务器上:
Windows用户操作步骤:
使用shell工具和ftp工具(推荐使用Xshell工具和Xftp工具),将文件上传到服务器/目录(由于篇幅有限,关于shell工具及ftp工具的使用,请自行查找资料)
Mac、Linux用户操作步骤,在用户本地电脑执行以下命令:
scp -r /cas-relase-2.5-cylin root@172.16.40.164:/
| 内容 | 说明 |
|---|---|
| -r | 将文件夹内所有内容上传到服务器 |
| /cas-relase-2.5-cylin | 安装包目录位置 |
| root | 服务器登录账户 |
| 172.16.40.164 | 服务器IP地址 |
| / | 上传到服务器的目录 |
之后输入该用户登录密码(Linux系统命令行不会显示你输入的密码,但其实已经输入成功),按Enter键完成输入
安装常用工具
若服务器安装操作系统时已经安装下列工具,可跳过此步骤
进入常用工具文件夹
cd /data/tools
分别执行以下命令,安装各个工具
rpm -ivh tar-1.32-2.ky10.x86_64.rpm
rpm -ivh vim-enhanced-8.2-34.p01.ky10.x86_64.rpm
rpm -ivh net-tools-2.0-0.54.ky10.x86_64.rpm
rpm -ivh telnet-0.17-76.ky10.x86_64.rpm
rpm -ivh telnet-0.17-76.ky10.x86_64.rpm
rpm -ivh lsof-4.93.2-4.ky10.x86_64.rpm
新建用户
登录服务器
ssh root@172.16.40.164
| 内容 | 说明 |
|---|---|
| root | 服务器登录账户 |
| 172.16.40.164 | 服务器IP地址 |
之后输入该用户登录密码(Linux系统命令行不会显示你输入的密码,但其实已经输入成功),按Enter键完成输入
新建用户
添加一个名为comac的用户
adduser comac
修改密码
passwd comac
根据提示,输入新的密码(Linux系统命令行不会显示你输入的密码)
更改用户 comac 的密码 。
新的 密码://在这里输入新密码
重新输入新的 密码://再次输入新密码
passwd:所有的身份验证令牌已经成功更新。
赋予sudo权限
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
# Allow root to run any commands anywhere
root ALL=(ALL) ALL
comac ALL=(ALL) NOPASSWD:ALL
以下以vim工具为例(vi/vim工具是Linux系统中最普及、最常用的文本编辑器,由于篇幅有限,不在本文教学,有兴趣可以在网上了解相关资料及教程)
vim /etc/sudoers
按下i键后进入编辑模式,修改完成后,按下esc键,输入:wq!后,按Enter键保存并退出
| 操作 | 说明 |
|---|---|
按下i键 |
进入编辑器的编辑模式 |
按下esc键,输入:
|
进入编辑器的指令模式 |
w |
保存修改内容 |
q |
退出 |
! |
强制执行指令 |
切换用户
su comac
注:后续操作理论上都应该使用comac用户操作,过高的权限往往便随着更高的风险,能力越大责任越大
JDK安装
执行以下命令进入java文件夹
cd /data/java
解压jdk压缩包
tar -zxvf jdk-8u341-linux-x64.tar.gz
编辑/etc/profile系统配置文件,将jdk添加到环境变量
vim /etc/profile
按下i键后进入编辑模式,在配置文件末尾加上环境变量配置
# jdk的解压目录
export JAVA_HOME=/data/java/jdk1.8.0_341
export PATH=$PATH:$JAVA_HOME/bin
修改完成后,按下esc键,输入:wq后,按Enter键保存并退出
| 操作 | 说明 |
|---|---|
按下i键 |
进入编辑器的编辑模式 |
按下esc键,输入:
|
进入编辑器的指令模式 |
w |
保存修改内容 |
q |
退出 |
刷新配置文件
source /etc/profile
验证
java -version
显示jdk版本信息即为成功
Mysql安装
进入mysql文件夹,解压mysql程序包
cd /data/mysql
tar -zxvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
解压后依次安装rpm包,由于rpm包有安装顺序,依次按顺序执行安装
cd mysql-5.7.38-1.el7.x86_64.rpm-bundle/
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
配置my.cnf,开启表名忽略大小写(如果不需要此功能可以略过此步骤)
sudo vim /etc/my.cnf
在[mysqld]下面加入:
lower_case_table_names=1
启动mysql服务
sudo service mysqld start
登陆并修改密码
注意:初次安装好mysql server 5.7.x会随机生成root用户的登录密码,在修改root用户密码之前,不能进行任何有效操作,因此,需要使用控制台使用root用户登录并修改密码
查看随机密码,执行以下命令,命令行会打印出mysql随机生成的root用户的登录密码
sudo grep 'temporary password' /var/log/mysqld.log
登录mysql
mysql -uroot -p
之后输入该用户登录密码(Linux系统命令行不会显示你输入的密码,但其实已经输入成功),按Enter键完成输入
登录成功后,使用命令修改密码,新密码请使用实际的密码替代:
alter user root@localhost identified by '新密码';
flush privileges;
退出mysql
quit
Redis
安装
cd /data/redis
tar -zxvf redis-6.2.7.tar.gz
cd /data/redis/redis-6.2.7
make
sudo make install
将命令设置为全局
ln -s /usr/local/redis/redis-6.2.7/src/redis-server /usr/bin/redis-server
启动验证
sudo redis-server /data/redis/redis-6.2.7/redis.conf &
Redis配置和启动
使用编辑器打开Redis的配置文件(需要root权限,或sudo操作):/data/redis/redis-6.2.7/redis.conf
根据实际情况修改以下内容:
| 修改前 | 修改后 | 说明 |
|---|---|---|
bind 127.0.0.1 |
# bind 127.0.0.1 |
注释掉该行,取消只从本机访问的限制 |
# requirepass foobared |
requirepass 实际的密码 |
“实际的密码“请根据实际情况进行配置,并取消该行的注释 |
Nacos
解压nacos
cd /data/nacos
tar -zxvf nacos-server-2.0.3.tar.gz
启动nacos服务
// 进入nacos执行程序目录
cd /data/nacos/nacos-server-2.0.3/bin
// 启动
./startup.sh -m standalone &
Nacos的使用
想要登录nacos需要开放服务器防火墙的8848端口,具体操作见防火墙章节
开通8848端口后,在用户本地的浏览器访问http://localhost:8848/nacos,其中localhost请改为实际服务器IP
随后输入账号密码登录
默认账号、密码分别为nacos,nacos
Nginx
安装
cd /data/nginx
tar -zxvf nginx-1.22.0.tar.gz
cd nginx-1.22.0
./configure
make
sudo make install
sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
验证,显示nginx的版本号即为成功
sudo nginx -v
启动
sudo nginx
应用程序安装
数据库
登录mysql
mysql -uroot -p
之后输入该用户登录密码(Linux系统命令行不会显示你输入的密码,但其实已经输入成功),按Enter键完成输入
创建业务数据库
create schema adms_system collate utf8_general_ci;
| 操作 | 说明 |
|---|---|
| adms_system | 新建数据库名 |
| utf8_general_ci | 数据所用字符集 |
切换到新创建的数据库
use adms_system;
导入业务数据库
source /data/adms/server/sql/adms_system.sql;
检查执行结果
show tables;
后端
解压压缩文件
cd /data/adms/server
tar -zxvf server.tar.gz
Nacos配置修改
登录Nacos后,在配置管理->配置列表模块中添加3个配置
| 命令 | 说明 |
|---|---|
| adms-system-int.yml | 系统核心模块配置 |
| adms-gateway-int.yml | 网关配置 |
| adms-auth-int.yml | 权限中心配置 |
配置具体内容在/adms/server/nacos_config目录下,注意需要根据实际情况修改
redis:
host: localhost
port: 6379
password: // Redis的实际密码,若未设密码则不填
datasource:
# 主库数据源
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/adms_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root // 数据库的登录账户
password: 123456 // 数据库实际密码
其中adms_system改为实际的数据库名
配置格式勾选YAML后发布(三个配置操作相似)
启动应用服务
启动权限中心服务
cd /data/adms/server/auth
nohup java -Xms512m -Xmx1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -Dfile.encoding=utf-8 -Dlog.path=./logs -jar cas-auth.jar >/dev/null 2>&1 &
启动网关服务
cd /data/adms/server/gateway
nohup java -Xms512m -Xmx1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -Dfile.encoding=utf-8 -Dlog.path=./logs -jar cas-gateway.jar >/dev/null 2>&1 &
启动核心应用服务
cd /data/adms/server/system
nohup java -Xms512m -Xmx1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -Dfile.encoding=utf-8 -Dlog.path=./logs -jar cas-auth.jar >/dev/null 2>&1 &
可以登录nacos后在服务管理->服务列表中查看服务是否启动成功
前端
解压压缩文件
cd /data/adms/web
tar -zxvf dist.tar.gz
修改Nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
修改内容如下:
listen 28080; // 浏览器访问的端口
location / {
etag on;
root /data/adms/web/dist; // 前端代码所在目录
index index.html index.htm;
}
// 添加以下代理配置
location ^~/prod-api/ {
proxy_pass http://127.0.0.1:8080/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
重写启动Nginx
sudo nginx -s reload
防火墙
开启防火墙
systemctl start firewalld
开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload
查看端口号
//查看当前所有tcp端口
netstat -ntlp
//查看所有1935端口使用情况
netstat -ntulp |grep 1935
Linux系统的一些常用命令
| 命令 | 说明 |
|---|---|
ls |
打印当前目录的文件及文件夹 |
ll |
ls的进阶版,相当于ls -l,可以打印文件及文件夹的详细信息 |
pwd |
打印当前所在的目录 |
cd |
例cd /data会进入/data目录,其中/data可以改为任意目录,以/开头的目录为绝对目录(会进入根目录的data文件夹),若要进入当前文件夹下的data目录命令cd data;cd ..会返回上一级目录 |