服务器部署项目小结

视频参考自视频参考

服务器配置

购买服务器

新用户的福利还是不错的,就是续费有点贵,也可以考虑腾讯云,华为云之类的。
1.png
我选择的是centos版的linux
2.png
更改下自己的密码
3.png
使用x_shell工具链接服务器

xshell下载地址

xshell.png
服务器就算链接好了

安装jdk

先下载linux版本的jdk,通过xftp上传到服务器
jdk.png
下面就是一些linux命令了,使用xshell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
解压:
tar -zxvf jdk-8u291-linux-x64.tar.gz

移动:
mv jdk1.8.0_291 /usr/local/jdk1.8

修改配置文件:
vim /etc/profile

添加配置:
export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

刷新配置:
source /etc/profile

安装docker

教程参考自菜鸟教程

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者
curl -sSL https://get.daocloud.io/docker | sh

手动安装

1. 卸载旧版本依赖
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. 设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

使用以下命令来设置稳定的仓库。阿里云仓库
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


3. 安装最新版本的 Docker Engine-Community 和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io

启动 Docker
systemctl start docker

service docker start

5. 验证是否安装成功
docker version

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组(官方文档)。
sudo usermod -aG docker $USER


docker images:查看镜像文件

卸载docker
sudo yum remove docker-ce docker-ce-cli containerd.io

sudo rm -rf /var/lib/docker

开机自启
systemctl enable docker

阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3n4m4jry.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker安装mysql

注意自己的mysql版本

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
安装mysql
docker pull mysql:5.7

启动mysql
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

docker run -p 3308:3306 --name mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7


docker run -p 3308:3306 --name mysql3308 \
-v /mydata/mysql3308/log:/var/log/mysql \
-v /mydata/mysql3308/data:/var/lib/mysql \
-v /mydata/mysql3308/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

参数解释:
--name 容器名字
-p 3308:3306 物理机端口:容器内部端口
-e 运行参数 初始化 root 用户的密码
-d 后台运行 mysq5.7 镜像名字加标签

-v 目录挂载,-v /mydata/mysql/log:/var/log/mysql 表示将 docker里面mysql容器的/var/log/mysql目录挂载到宿主linux系统的 /mydata/mysql/log 目录下,方便查看。


然后修改权限:
// 进入mysql容器:
docker exec -it 934e3c005153 /bin/bash
// 登录mysql:
mysql -uroot -proot
// 修改权限:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
或者:ALTER USER 'root'@'%' IDENTIFIED BY '123456';
flush privileges;

mysql配置文件: vim /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[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
skip-name-resolve

安装nginx

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
1、安装依赖和相关库:

[root@localhost ~]# yum -y install gcc-c++ zlib-devel openssl-devel libtool
2、下载nginx安装包并解压:

[root@localhost ~]# cd /usr/local
[root@localhost local]# wget http://nginx.org/download/nginx-1.14.0.tar.gz
[root@localhost local]# tar -zxvf nginx-1.14.0.tar.gz
3、配置和安装

[root@localhost local]# cd nginx-1.14.0
[root@localhost nginx-1.14.0]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.14.0]# make && make install
4、启动nginx:

[root@localhost nginx-1.14.0]# cd ../nginx/sbin
[root@localhost sbin]# ./nginx
5、查看nginx:

[root@localhost nginx]# ps -ef | grep nginx
root 13850 1 0 17:01 ? 00:00:00 nginx: master process ./nginx
nobody 13851 13850 0 17:01 ? 00:00:00 nginx: worker process
root 13879 1128 0 17:11 pts/0 00:00:00 grep --color=auto nginx
6、停止和重启nginx:

./nginx -s reload #重启
./nginx -s stop #关闭


项目部署

项目打包

数据库新建连接,连接名是自己的服务器ip,将自己的数据导入到新的数据库中
数据库服务器.png
后端项目使用mvean打包,命令 mvn clean package -DskipTests(这是跳过了测试)
前端通过 npm run build打包

打包之前需要将项目中的涉及ip地址相关的改成自己的服务器ip,比如文件上传

通过x-ftp将文件传到自己的服务器(从官网下载,再从其他网站下载一些工具,学习使用,支持正版)

xftp下载地址

xftp.png

项目部署

安装 anywhere前端静态资源服务器插件:

1
npm install anywhere -g

vue dist nginx配置:

1
2
3
4
5
6
7
vim /usr/local/nginx/conf
//替换location
location / {
root /home/server/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}

nginx重启:

1
/nginx -s reload

启动jar包

1
nohup java -jar springboot-0.0.1-SNAPSHOT.jar &

关闭

1
kill -9 [进程号]

查看进程

1
ps -ef|grep [进程名]

注意修改自己项目server-ip相关的配置。