部署前准备
注册京东云
京东云: https://www.jdcloud.com/
117.72.32.65
vue本地部署
新建文件.env.development
VUE_APP_BASEURL='http://localhost:9191'
新建文件 .env.production
VUE_APP_BASEURL='http://117.72.32.65:9191'
main.js 设置全局变量$baseUrl
Vue.prototype.$baseUrl =process.env.VUE_APP_BASEURL
搜索
替换
替换request.js
const request = axios.create({baseURL: process.env.VUE_APP_BASEURL, timeout: 5000
})
vue全局搜索localhost:9191 替换成$baseUrl
方式一:request.post(this.$baseUrl+"/role")
方式二::action="$baseUrl+'/file/upload'"
打包
添加插件
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.7.13</version> 可选</plugin></plugins></build>
npm run build
SpringBoot部署
打包
mvn clean package
服务器
部署java项目
mkdir -p /home/server/ElectronicMallApi
mkdir -p /home/server/ElectronicMallVue
上传jar 包到服务器/home/server/ElectronicMallApi目录
设置application.yml覆盖
server:port: 9191
spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://${ip}:3306/electronic_mallusername: rootpassword: rootservlet:multipart:max-file-size: 30MBredis:database: 0host: ${ip}port: 6379lettuce:pool:min-idle: 0max-active: 8max-idle: 8max-wait: -1msconnect-timeout: 30000msmybatis:mapper-locations: classpath:mapper/*.xmlconfiguration:map-underscore-to-camel-case: true
ip:117.72.32.65
添加启动和停止脚本
start.sh
NAME=ElectronicMallApi-0.0.1-SNAPSHOT.jar
nohup java -jar $NAME > server.log 2>&1 &
echo 'start success'
stop.sh
#!/bin/bash
PID=$(ps -ef | grep "ElectronicMallApi-0.0.1-SNAPSHOT.jar" | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; thenecho "ElectronicMallApi-0.0.1-SNAPSHOT.jar 进程不存在"
elsekill -9 $PIDecho "已停止 ElectronicMallApi-0.0.1-SNAPSHOT.jar 进程"
fi
授权
chmod +x *
vue远程部署
上传dist 文件到服务器/home/server/ElectronicMallVue
安装jdk 1.8
tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_371 /usr/local/javavi /etc/profileexport JAVA_HOME=/usr/local/javaexport PATH=$JAVA_HOME/bin:$PATHsource /etc/profile #让配置文件生效#验证
java -version
安装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
下载nginx到/tmp
mkdir /usr/local/nginx
tar -zxvf /tmp/nginx-1.24.0.tar.gz -C /usr/local/nginxcd /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://117.72.32.65/
nginx.conf 配置
location / {root /home/server/ElectronicMallVue/dist;index index.html index.htm;try_files $uri $uri/ /index.html; #防止手动输入项目地址报错}
重启nginx
cd /usr/local/nginx/sbin./nginx -s reload
安装mysql
mkdir -p /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/mysqlcd /usr/local/mysql
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize报错:/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory解决:yum install libaio-devel.x86_64 -y# 将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
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/
–datadir=/data/mysql --initialize执行完
零时密码:r4siIs:k(9Z7
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
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
报错
vi my.cnf
vi: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
解决
sudo yum update ncurses
启动mysql: service mysql start
开机启动: chkconfig mysql on
登录mysql :mysql -uroot -p
修改密码并设置 权限
set password = password('root');use mysql;
update user set host='%' where user='root' and host='localhost';
flush privileges;
开3306端口
Navicat连接
导入数据
安装redis
mkdir /usr/local/redis
tar -zxvf /tmp/redis-stable.tar.gz -C /usr/local/redis
编译make
cd /usr/local/redis/redis-stablemake
执行完 make 命令后,redis-stable 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli
默认启动
cd src # 进入src目录./redis-server
配置文件启动
./redis-server ../redis.conf # 或用配置启动
后台进程方式启动
修改redis.conf,将daemonize设置为yes
配置文件启动
./redis-server ../redis.conf # 或用配置启动
设置外网可以访问
打开redis-conf
修改redis.conf配置
# 找到protected-mode 设置为no
protected-mode no# bind 设置为0.0.0.0
bind 0.0.0.0# 取消requirepass注释,设置密码 (可选)
requirepass "password"
修改application.yml 里面的ip为服务器的公网ip
启动java
cd /home/server/ElectronicMallApi
./start.sh
tail -100f server.log #查看日志ps -ef | grep ElectronicMallApi-0.0.1-SNAPSHOT.jar