服务器网站部署

将网站部署在服务器上

1 系统条件

  • Centos 8 系统
  • jdk 1.8
  • nginx 1.24
  • mysql 5.24

2 软件安装

2.1 JDK 安装

1
2
3
4
5
6
7
8
9
10
# jdk1.8 安装
tar -zxvf /tmp/jdk-8u202-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_202 /usr/local/java
# /etc/profile 文件末尾加入
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
# 更新环境变量
source /etc/profile
# 验证安装
java -version

2.2 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
30
31
32
33
# 安装编译工具
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
mkdir /usr/local/nginx
# 解压安装
tar -zxvf /tmp/nginx-1.24.0.tar.gz -C /usr/local/nginx
cd /usr/local/nginx/nginx-1.24.0/
./configure --with-http_stub_status_module --with-http_ssl_module
make && make install
cd sbin
./nginx

# 修改端口映射,将其映射到我们的前端 index 文件
../conf/nginx.conf

# server {
# listen 80;
# server_name localhost;

# #charset koi8-r;

# #access_log logs/host.access.log main;

# location / {
# root /你的目录/dist; ### 修改该行为 dist 文件夹目录
# index index.html index.htm;
# try_files $uri $uri/ /index.html; ### 修改该行,将网站路径映射为网址
# }
# 重启 nginx
cd ../sbin/
./nginx -s reload

2.3 mysql 安装

2.3.1 编辑 /etc/my.cnf 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证:
# skip-grant-tables
# # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld-safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2.3.2 解压安装

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
# 卸载原数据库 mariadb
yum remove -y mariadb-connector-c.x86_64
yum remove -y mariadb-connector-c-config.noarch
# 解压编译好的安装包并安装
tar -zxvf /tmp/mysql-5.7.42-el7-x86_64.tar.gz -C /usr/local
mv /usr/local/mysql-5.7.42-el7-x86_64.tar.gz /usr/local/mysql
mkdir /data/mysql
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql
# 接下来这步记得要记下初始密码
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --initialize
mysql -uroot -p
SET PASSWORD = PASSWORD('你的密码');
use mysql;
update user set host = '%' where user = 'root' and host = 'localhost';
flush privileges;

# 创建服务
ln -sf /usr/local/mysql/bin/mysql /usr/bin
ln -sf /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurces.so.5
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 开机自启
chkconfig mysql on

# 远程访问需要服务器开放 mysql 的端口号

3 springboot 程序启动

3.1 start.sh 脚本

1
2
3
4
# 启动脚本
NAME=springboot-0.0.1-SNAPSHOT.jar
nohup java -jar $NAME > server.log 2>&1 &
echo 'start success'

3.2 stop.sh 脚本

1
2
3
4
5
6
7
8
9
# 停止脚本
PORT=9090
pid=`netstat -tnlp | grep $PORT | grep -v grep | awk '{print $7}' | awk -F/ '{print $1}'`
if [ ${pid} ]; then
kill -9 $pid
echo "kill $PORT"
else
echo 'stop success'
fi

3.3 运行 springboot 的 jar 包

1
2
3
4
5
6
# 查看是否存在重复进程
ps -ef | grep springboot-0.0.1-SNAPSHOT.jar
# 杀掉
kill -9 [进程号]
# 查看控制台
tail -100f server.log