做网站如何来钱,桂林 网站建站,成都 网站建设培训学校,上海公司法人落户条件目录
一、需要的资源
二、步骤
1.首先要拥有一个服务器
2.项目准备
vue#xff1a;
打包:
3.服务器装环境
文件上传
设置application.yml覆盖 添加启动和停止脚本
编辑 安装jdk1.8 安装nginx
安装mysql
报错#xff1a;「ERR」1273-Unknown collation: utf8m…目录
一、需要的资源
二、步骤
1.首先要拥有一个服务器
2.项目准备
vue
打包:
3.服务器装环境
文件上传
设置application.yml覆盖 添加启动和停止脚本
编辑 安装jdk1.8 安装nginx
安装mysql
报错「ERR」1273-Unknown collation: utf8mb4_0900_ai_ci
启动java
服务器部署最后一部出现no main manifest attribute, in springboot-0.0.1-SNAPSHOT.jar这个错误怎么解决的 本文章记录如何将SpringVue前后端分离的项目部署到服务器上
一、需要的资源
软件Xshell、Xftp
二、步骤
1.首先要拥有一个服务器
服务器可以用学生优惠或者购买或者一些免费资源这里不要求
2.项目准备
在本地写项目时大部分用的locahost但是部署到服务器上的话是不可取的所以我们需要把localhost改成服务器地址。
vue
给项目新建两个文件
.env.development中写
VUE_APP_BASEURLhttp://localhost:8080/ .env.production中写
VUE_APP_BASEURLhttp://101.34.248.238:8080
在main.js文件中新定义一个全局变量
Vue.prototype.$baseUrl process.env.VUE_APP_BASEURL 然后可以使用替换把文件中的localhost8080改成$baseUrl
打包:
vue
npm run build
运行命令后会有一个dist文件夹这里面装的就是打包好的前端。 SpringBoot:
运行命令
mvn clean package 或者点开maven面板先点击clean再点击package 打包好后会有target文件夹这就是打包好的后端。
3.服务器装环境
一共需要装三个软件安装包可以通过百度网盘下载
链接https://pan.baidu.com/s/1dVwrMDM_qMywqEy-gkN2zA 提取码iwvv
文件上传
打开xshell建立连接 连接成功 点击新建文件传输。即xftp
新建文件夹
mkdir -p /home/server/shield其中shield可以自己定名字也可以直接在xftp里面右键新建文件夹
在shield里面新建两个文件夹java和vue在java中拉入target里的jar包 在vue里面拉入整个dist文件夹
设置application.yml覆盖
把原后端的application.yml也拉入java里面右键用记事本打开编辑 内容如下ip是服务器地址url改成用ip变量
server:port: 8080
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://${ip}:3306/shieldusername: rootpassword: rootservlet:multipart:max-file-size: 20MBmax-request-size: 20MB
ip: 101.34.248.238 添加启动和停止脚本
在java里创建两个脚本右键新建
start.sh
NAMEshield-Spring-0.0.1-SNAPSHOT.jar
nohup java -jar $NAME server.log 21
ech0 start success stop.sh
PORT8080
pidnetstat -tnlp | grep -v grep | awk {print $7} | awk -F/ {print $1}
if [ ${pid} ]; thenkill -9 $pidecho kill $PORT
elseecho stop success!
fi
或者代码新建
cd /home/server/shield/java
vi start.sh 按A进入插入模式插入内容后按escwq即可退出
赋予所有文件权限绿色文件
chmod x *安装jdk1.8
把包放进tmp里面 #把包解压到/usr/local/
tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/
#改名为java
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
成功 安装nginx
直接无脑按步骤执行下面命令
#安装gcc
yum install gcc-Ci4#安装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/nginx
cd /usr/local/nginx/nginx-1.24.e
#编译安装
./configure --with-http_stub_status_module --with-http_ssl_module
make make install
成功 nginx命令
cd /usr/local/nginx/sbin
./nginx #启动
ps -ef l grep nginx #查看
./nginx -s stop #停止
./nginx -s reload #重启 如果打开远程地址出现如下页面则nginx安装成功 nginx配置
找到nginx.conf文件编辑它
内容如下 server {listen 8888;#可以改端口server_name localhost;location / {root /home/server/shield/vue/dist;#这里改成vue的打包dist的地址index index.html index.htm;try_files $uri $uri/ /index.html;#刷新不会报错}安装mysql
linux系统会自动携带一个数据库我们需要把它给卸载掉通过以下代码可以查看mariadb并卸载
rpm -qa l 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 下载mysql并上传到tmp文件夹
mkdir /data/mysql
tar -zxvf /tmp/mysql-5.7.42-e17-x86_64.tar.gz -C /usr/local
mv /usr/local/mysql-5.7.42-e17-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 --usermysql --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/lib6a/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses. so.5 注意记住临时密码 编辑配置文件my.cnf vi /etc/my.cnf
里面内容如下
[mysqld]
datadir/data/mysql
basedir/usr/local/mysql
socket/tmp/mysql.sock
usermysql
port3306
character-set-serverutf8
#取消密码验证
# skip-grant-tables
# # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-linkso
[mysqld_safe]
log-error/var/log/mysqld.log
pid-file/var/run/mysqld/mysqld.pid
启动mysql: service mysql start 开机启动: chkconfig mysql on
mysql修改密码
$ mysql -u root -p #连接服务登录mysql
SET PASSWORD PASSWORD(root)
修改连接权限
$ mysql -u root -p #连接服务登录mysqlshow databases; #查看当前所有数据库use mysql; #进入mysql数据库show tables; #查看mysql数据库中所有的表select Host, User from user; #查看user表中的数据 update user set Host% where Userroot; #修改user表中的Hostflush privileges; #最后刷新一下 本地用Navicat连接mysql 注记得打开服务器防火墙 创建数据库运行sql文件即可
报错「ERR」1273-Unknown collation: utf8mb4_0900_ai_ci
mysql导入sql文件报错
[ERR] 1273 - Unknown collation: utf8mb4_0900_ai_ci 大致原因sql对应的mysql版本高于当前要导入的mysql库的版本引发的1273错误。
解决方案
打开sql文件将文件中的所有utf8mb4_0900_ai_ci替换为utf8_general_ci同时将utf8mb4替换为utf8。处理sql后重新在mysql库中导入sql文件即可。
启动java
cd /home/server/shield/java/
./start.sh
tail -100f server.log 注意 一样要设置防火前打开后台端口 服务器部署最后一部出现no main manifest attribute, in springboot-0.0.1-SNAPSHOT.jar这个错误怎么解决的
把pom.xml里的skiptrue/skip这行代码删掉然后重新打包jar包把jar包通过Xftp传入/home/server/shield/java
再在进入Xshell输入
cd /home/shield/java/
./start.sh
tail -100f server.log
查看是否启用成功。