centos后台部署流程

## 技术环境

- jdk8 
- redis5.0以上
- mysql5.7以上
- 前端项目(vue+js+html+css+)
- nginx1.18
- centos7

## 部署步骤

### 安装jdk环境

创建/home/azhs/zips目录

```
mkdir /home/azh/zips
```

讲jdk的tar.gz包上传到该目录下

```
tar -zxvf jdk1.8xxx.tar.gz包
```

然后进入jdk目录 pwd获取该目录路径

```
pwd
```

然后修改 /etc/profile文件 配置环境变量  :wq!保存退出

```
#java environment
export JAVA_HOME=/usr/java/jdk1.8.0_144
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
```

使环境变量生效

```
source /etc/profile
java -version
```

#### 安装mariadb

通过yum 安装

```
yum install mariadb-server
```

安装完成后首先要把MariaDB服务开启,并设置为开机启动

```
systemctl start mariadb  # 开启服务
systemctl enable mariadb  # 设置为开机自启动服务
```

首次安装需要进行数据库的配置,命令都和mysql的一样

```
mysql_secure_installation
```

配置时出现的各个选项

```
Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车

Set root password? [Y/n]  # 设置密码,y

New password:  # 新密码
Re-enter new password:  # 再次输入密码

Remove anonymous users? [Y/n]  # 移除匿名用户, y

Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录

Remove test database and access to it? [Y/n]  # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要

Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也许
```

测试是否能够登录成功,出现 MariaDB [(none)]> 就表示已经能够正常登录使用MariaDB数据库了

```
mysql -uroot -p 
# 然后输入密码 登陆
```

###### 设置mariadb字符集为utf8

/etc/my.cnf 文件, 在 [mysqld] 标签下添加

```
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
```

/etc/my.cnf.d/client.cnf 文件, 在 [client] 标签下添加

```
default-character-set=utf8
```

/etc/my.cnf.d/mysql-clients.cnf 文件, 在 [mysql] 标签下添加

```
default-character-set=utf8
```

退出mysql 重启服务

```
systemctl restart mariadb
```

登陆进入数据库查看字符集

```
未配置字符集前
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]>


配置字符集后
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database   | utf8_unicode_ci |
| collation_server     | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

MariaDB [(none)]>

```

###### 设置远程连接mariadb数据库

mariadb默认是拒绝 root 远程登录的。这里用的是 datagrip 软件连接数据库

开放端口 3306

```
firewalld-cmd --permanent --zone=public --add-port=3306/tcp --permanent   #开放端口
# 如果报错说明防火墙没开
systemctl status firewalld  #查看防火墙状态
systemctl start firewalld   #开启防火墙
systemctl stop firewalld    #关闭防火墙
firewall-cmd --reload                #重启防火墙让端口生效
firewall-cmd --zone=public --list-ports    #查看开放的端口
```

先查看mysql数据库中的user表

```
MariaDB [(none)]> use mysql;

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| mini      | root |
+-----------+------+
3 rows in set (0.00 sec)
```

将与主机名相等的字段改为 "%" ,我的主机名为mini,

```
MariaDB [mysql]> update user set host='%' where host='mini';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | root |
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)
```

刷新权限表,或重启mariadb服务

```
MariaDB [mysql]> flush privileges;
[root@mini ~]# systemctl restart mariadb
```

然后远程连接成功!

#### 安装redis

我们通过docker安装 

安装docker

```
yum install docker
```

拉取redis镜像

```
docker pull redis
```

开启端口,步骤楼上安装mariadb那儿有

启动容器

```
docker run -itd --name redis001 -p 6379:6379 redis
```

#### 安装nginx

上传nginx.tar.gz包

然后解压缩 并安装依赖,

```
mkdir /home/azh/service
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
cd /data/tmp
tar zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --prefix=/home/azh/service/ngnix
make && make install
```

如果访问不成功就开启80端口 ,开启步骤和安装mariadb一样

#### 安装前端build环境node.js

上传node.tar.gz包 安装包都上传到/home/azh/zips目录

```
tar -zxvf node-v14.15.5-linux-x64.tar.gz
mv node-v14.15.5-linux-x64 /data/service
cd /data/service
ll
```

配置环境变量

```
vim /etc/profile
export NODEJS_HOME=/data/service/node-v14.15.5-linux-x64
export PATH=$PATH:$NODEJS_HOME/bin

#然后 :wq!保存退出 执行
source /etc/profile
node -v
```

设置npm镜像源

```
#设置淘宝镜像源
npm config set registry https://registry.npm.taobao.org
#升级npm
npm -g install npm
#查看npm配置
npm config list
```

安装yarn以及设置镜像源

```
#安装yarn
npm install -g yarn
#查看版本号
yarn -v
#设置淘宝镜像源
yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
#查看yarn配置
yarn config list
```

#### 上传前端项目

将项目上传到/home/azh/service

然后进入项目执行

```
#下载依赖
yarn install
# 打包正式环境
yarn run build:prod

mkdir /home/azh/service/energy
mv dist/* /home/azh/service/energy
```

配置nginx配置文件

```
vim /data/service/ngnix/conf/nginx.conf
location / {
  root   /home/azh/service/energy;
  try_files $uri $uri/ /index.html;
  index index.html index.htm;
}
       
location /prod-api/ {
  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header REMOTE-HOST $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://localhost:8080/;
}
```

然后进入/home/azh/service/ngnix

```
./nginx -s reload
```

然后可以 直接 http://ip:8080/ 访问了

其中的数据库sql脚本自行在安装好mariadb数据库后自行执行,这里解释一下mariadb就是mysql,两者没啥区别。

#### 对于sqlserver数据库迁移到mysql的相关操作

因为甲方用的就是sqlserver,这里就不介绍sqlserver的安装了

利用Navicat连接sqlserver

然后再用Navicat连接msyql

如图所示:

![image-20211206191208557](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191208557.png)

然后进入mariadb的用户目录下,右键新建数据库,字符集选择utf8

![image-20211206191250624](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191250624.png)

![image-20211206191309600](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191309600.png)

进入新建立的数据库 点击导入向导

<img src="C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191349907.png" alt="image-20211206191349907" style="zoom:25%;" />

然后选择ODBC

![image-20211206191416677](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191416677.png)

导入选择这个

![image-20211206191437736](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191437736.png)

![image-20211206191617600](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191617600.png)

进入后点击需要移植的sqlserver表

![image-20211206191853112](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191853112.png)

然后一直下一步下一步...

![image-20211206191940143](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191940143.png)

![image-20211206191948673](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206191948673.png)

![image-20211206192005185](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206192005185.png)

点击开始 sqlserver数据库表就移植到mysql或者mariadb了

![image-20211206192013953](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206192013953.png)

结果:这是sqlserver的

![image-20211206192121431](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206192121431.png)

这是mysql的

![image-20211206192136433](C:\Users\Aurora\AppData\Roaming\Typora\typora-user-images\image-20211206192136433.png)

成功移植过来了         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

期待mizi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值