一、前置准备

1.项目本地能够跑通

项目本地没有bug。同时要注意两个细节:

  • 前端发送请求,需要设置成服务器的ip地址,因此开发时就可以采用统一变量代替ip地址,以后也好修改。

具体操作如下:

main.js 设置全局变量$baseUrl

Vue.prototype.$baseUrl=process.env.VUE_APP_BASEURL

request.js 中创建

const request = axios.create({
    baseURL: process.env.VUE_APP_BASEURL,   // 后端的接口地址
    timeout: 30000
})

vue工程全局搜索 localhost:9090 替换成 $baseUrl

:action="$baseUrl + '/file/upload'"
  • 后端规定端口号,在$baseUrl中就可以确定使用该端口号

2.购买云服务器,并重置密码

3.下载XFTP、XShell软件

连接远程服务器进行环境搭建,以及项目上传。免费下载链接如下:
https://www.xshell.com/zh/free-for-home-school/

4.相关软件的压缩包

本文采用压缩包为:

  • jdk-8u371-linux-x64.tar.gz
  • nginx-1.24.0.tar.gz
  • mysql-5.7.42-el7-x86_64.tar.gz
  • redis-7.0.11.tar.gz

百度云盘链接如下:待补充。

二、项目打包上传服务器

1.x-shell创建链接

使用x-shell,通过重置的账号密码,连接远程服务器。

2.打包前后端项目

前端项目使用 npm run build 命令,打包会生成dist目录。后端项目使用idea操作,先clean,再package,打包会生成target目录。

3.部署后端项目

1)创建文件夹

mkdir -p /home/server/blog

2)上传jar包到服务器 /home/server/blog/java 目录

3)设置 application.yml 覆盖

将后端项目的application.yml配置文件,在单独上传到/home/server/blog/java 目录

4)添加启动脚本

cd /home/server/blog/java
vi start.sh

#添加以下内容
NAME=springboot-0.0.1-SNAPSHOT.jar
nohup java -jar $NAME > server.log 2>&1 &
echo 'start success'
vi stop.sh

#添加以下内容,后端端口需要修改
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 sucess!'
fi

5)赋权

chmod +x *

4.部署前端项目

1)上传dist文件夹到 /home/server/honey2024/vue

如果是两个前端项目,将另一个项目放在第一个项目的dist目录下即可。

三、安装环境

将所有压缩包通过XFTP上传到服务器/tmp目录下。

1.安装jdk1.8

tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/

mv /usr/local/jdk1.8.0_371 /usr/local/java
   
vi /etc/profile

#加入以下内容
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

# 验证
java -version

2.安装nginx

#安装gcc
yum install gcc-c++
 
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
 
#安装zlib
yum install -y zlib zlib-devel
 
#安装Open SSL
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

nginx命令

cd /usr/local/nginx/sbin

./nginx     # 启动

ps -ef | grep nginx  # 查看

./nginx -s stop      # 停止

./nginx -s reload    # 重启

访问:http://公网ip地址/,查看到nginx欢迎界面,安装成功。

修改nginx.conf文件

针对前端项目有两个时的配置,如下:

server {
    listen 80;
    server_name localhost; # 你的上线地址
    #第一个前端项目
    location / {
        root /home/server/blog/vue/dist; # dist 项目的根目录
        index index.html index.htm; # dist 项目的默认索引文件
         try_files $uri $uri/ /index.html; 
    }
    #第二个前端项目	
    location /admin {
        alias /home/server/blog/vue/dist/admin; # admin 项目的根目录
        index index.html index.htm; # admin 项目的默认索引文件
        try_files $uri $uri/ /admin/index.html; 
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

修改之后记得重启nginx

cd /usr/local/nginx/sbin    

./nginx -s reload

3.安装redis

1)安装gcc依赖

yum install -y gcc-c++

2)上传安装包,解压

使用Xftp 在/usr/local/src/下上传压缩包。再进入该目录,使用命令解压:

tar -xvf /tmp/redis-7.0.11.tar.gz -C /usr/local

3)编译

自带了一个makedir,不需要像nginx创建了。

make

4)安装

PREFIX参数指定软件的安装位置,redis的默认安装目录在/usr/bin中。

make install PREFIX=/usr/local/redis

5)后端启动

前台启动:独占终端界面,一旦退出,服务停止。我们这里使用后端启动。

安装目录/usr/local/redis下创建conf和data目录

mkdir conf
mkdir data

6)编写配置文件

使用Xftp,将解压目录中的redis.conf复制到安装目录的conf目录下,并重命名为redis-6379.conf。再修改以下参数:

  • #bind 127.0.0.1 -::1。127.0.0.1只有本机才能访问。将该属性注释或者改成0.0.0.0

  • port 6379。默认就是6379,以后如果使用多个Redis,才用改。

  • requirepass 123。登录密码设置

  • daemonize yes。启用后台启动

  • dir /usr/local/redis/data。指定文件的默认保持位置

  • dbfilename dump-6379.rdb。rdb数据备份文件默认的名字

  • logfile "6379.log"。日志文件名

  • pidfile /var/run/redis_6379.pid。记录Redis进程id

7)启动服务端

需要带上配置文件。

./bin/redis-server ./conf/redis-6379.conf

8)进入客户端

./bin/redis-cli -a 密码

9)关闭客户端

exit

10)关闭服务端

./bin/redis-cli -a 密码 shutdown

4.安装mysql

1)linux系统会自动携带一个数据库,我们需要把它给卸载掉。

rpm -qa | grep mariadb
yum remove -y mariadb-connector-c-3.1.11-2.oc8.1.x86_64
yum remove -y mariadb-connector-c-config-3.1.11-2.oc8.1.noarch

2)安装mysql命令

mkdir /data/mysql
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 /usr/local/mysql

# 添加用户组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql

    
cd /usr/local/mysql 
#安装sudo命令依赖
sudo yum install libaio   
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize   

#  将mysql加入到服务中    
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# mysql快捷方式
ln -s  /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

3)记住临时密码 osGMitUO<56.

4)配置mysql配置文件 my.cnf

vi /etc/my.cnf 

#加入以下内容
[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

5)启动mysql

 service mysql start  

6)开机启动

chkconfig mysql on 

7)输入临时密码,登录mysql

mysql -uroot -p 

8)修改密码并设置权限

SET PASSWORD = PASSWORD('123');

use mysql;
update user set host ='%'where user ='root' and host ='localhost';
flush privileges;
exit;

9)服务器控制台开放防火墙端口

开放22、80、443、3306、6379、以及你前后端使用到的端口。

10)使用Navicat连接mysql

导入你的sql文件

四、运行程序

1.启动后台程序

cd /home/server/honey2024/java
./start.sh

2.查看实时日志

tail -100f server.log

至此,全部完成,恭喜你!