vue项目中没有config文件夹,解决办法
自己写了一个问答社区网站,但是通过 npm run build 打包出来,将打包出来的文件夹扔到tomcat中的worksapp中,启动tomcat发现出现空白页面,找了其他资料,都是修改vue项目config文件夹下的 index.js,
但是这个方法是针对完整的webpack才有这个目录,我的没有那怎么办,去看了看官方文档结合网上的资料。
解决方法:没有就创建一个,如下创建vue.config.js
创建vue.config.js文件,Vue 项目中 vue.config.js 文件就等同于 webpack 的 webpack.config.js
如果没有这个文件夹,系统会加载默认的配置文件,如果你在这个文件里设置了相应的属性,系统会将默认的和你设置的合并在一起产生一个新的配置文件,比如默认:w=1,y=2,但是你在这个文件里设置了w=0,那么就会加载w=0,y=2,这个样子,新建这个文件系统会默认加载不用另外设置。这个文件里的详细字段解释参考下面链接:https://blog.csdn.net/zz00008888/article/details/109579625
module.exports = {
publicPath: './',//默认的'/'是绝对路径,如果不确定在根路径,改成相对路径'./',如果你知道项目创建的文件目录也可以写成项目的目录,比如我的时问答社区就可以写成 /wenda 相对路径更加方便,不用在更改打包名字时还要改路径
outputDir: 'wenda',// 输出文件目录
}
对网站进行部署,部署到linux服务器中,linux用的是CentOS
首先将后端springboot项目打包,先clean然后package打包,打包出来的jar文件在target中
然后进行前端vue项目打包,运行命令npm run build进行打包,打包后的目录在项目目录里,名字叫做下面圈圈里的名字,默认时dist
1 安装jdk运行java项目
jdk:既可以运行java项目也可以编译java语言
jre:只能运行java项目
1 首先查看CentOS是否有原生版本的java,通过命令查看
rpm -qa | grep jdk
2 如果存在则通过命令删除
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64为 1 中命令查出来的名字
3 查看是否删除成功
运行 1 中的命令,查询结果为空则删除成功
4 在 /usr/local 目录下新建 java 文件夹,并进入
cd /usr/local
mkdir java
cd java
5 如果你用的时xshell那就打开 Xftp,然后将 JDK 安装文件拷贝到 java 目录,如果用的时finalshell直接向目录中拉过去就行,或者进入目录点击上传都可
6 使用命令进行安装,注意下载的jdk钥匙linux版本的rpm压缩包
rpm -ivh jdk-8u221-linux-x64.rpm
7 配置环境变量
vim /etc/profile
按 i 进行输入,复制如下内容到文件最底部追加
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
然后按按 Esc 退出,然后输入 :x 回车即为保存退出。如果输入错了,想要保存源文件那么输入Esc 后输入 :q! 表示不保存强制退出。
8 让配置生效
source /etc/profile
9 检查安装是否成功
java -version
2 安装tomcat
1 在 /usr/local 目录下新建 tomcat 文件夹,并进入。
cd /usr/local
mkdir tomcat
cd tomcat
2 xshell打开 Xftp,finalshell直接上传,将 Tomcat 压缩文件拷贝到 tomcat 目录。
3 解压缩。注意下载linux版本
tar -zxvf apache-tomcat-9.0.34.tar.gz
4 进入 /apache-tomcat-9.0.34/bin 路径启动 Tomcat。
./startup.sh
关闭toncat
./shutdown.sh
启动成功之后,可以在 CentOS 中直接访问。 但是在本地无法访问,这是因为 CentOS 没有开放 8080 端口导致的。
5 CentOS 开放 8080 端口。
如果你是组的阿里或者腾讯服务器,那么要在网站的工作台中配置,比如阿里服务器要在这里配置
而如果你要自己配置服务其,就是弄一个linux系统那么就要,开放端口号
1 查看防火墙状态
firewall-cmd --state
runing 表示开启,not runing 表示关闭,如果关闭,执行
systemctl start firewalld.service
2 开启 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
3 输入命令重启防火墙
systemctl restart firewalld.service
4 输入命令重新载入配置
firewall-cmd --reload
5 打开浏览器,访问成功。
6 将导出的vue项目拷贝到 Tomcat/webapps 下,启动访问即可。本项目就是将webda目录考入上述文件夹下。
3 安装 MySQL
1 新建 /usr/local/mysql,将 MySQL 安装包拷贝过去。
2 进入 /usr/local/mysql,解压。
tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
#mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar为下载的数据库名字,要改成你自己的名字
3 安装 MySQL 之前需要先删除 mariadb,检查是否存在 mariadb
rpm -qa | grep mariadb
4 卸载 mariadb
rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps
#mariadb-libs-5.5.44-2.el7.centos.x86_64为上边命令查出来的名字
5 安装 MySQL,注意安装顺序不要变,应为他们相互之间有依赖关系顺序为common>libs>client>server
这几个rpm包都是 2 中的包解压出来的
rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps
--force
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --
force
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps
--force
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps
--force
6 检查安装结果
rpm -qa | grep mysql
7 初始化 MySQL
mysqld --initialize
8 授权防火墙
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
9 查看数据库默认密码
cat /var/log/mysqld.log | grep password
10 登录数据库
mysql -uroot -p
11 复制粘贴密码
12 登录成功,修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH
mysql_native_password BY '你的密码';
13 exit 退出,使用新密码重新登陆。
14 开启远程访问。
首先登录数据库
use mysql #打开mysql数据库
#将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip
update user set host='%' where user='root' and host='localhost';
flush privileges; #刷新权限表,使配置生效
然后我们就能远程连接我们的mysql了。
如果您想关闭远程连接,恢复mysql的默认设置(只能本地连接),您可以通过以下步骤操作:
use mysql #打开mysql数据库
#将host设置为localhost表示只能本地连接mysql
update user set host='localhost' where user='root';
flush privileges; #刷新权限表,使配置生效
备注:您也可以添加一个用户名为yuancheng,密码为123456,权限为%(表示任意ip都能连接)的远程连接用户。命令参考如下:
grant all on *.* to 'yuancheng'@'%' identified by '123456';
flush privileges;
15 CentOS 开放 3306 端口。用于远程链接数据库
如果时租的阿里云或者腾讯云参考上面如何开放端口,在防火墙里添加就好了。
自己服务要运行下面的命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
到现在位置你的服务其就可以部署上去了,别忘记更改后端项目链接数据库的密码之类的。
运行jar包
nohup java -jar wenda-0.0.1-SNAPSHOT.jar > ./wenda.log 2>&1 &
日志会输入到wenda.log中,后台无中断运行
如何杀死进程呢?
ps -ef | grep wenda
#wenda为你包的名字,前几个字符即可,比如我的包的名字wenda-01-03sn。。。。,只用输入wenda就能查到了。
然后
kill pid
#pid为进程号
就结束运行啦!
数据库导出数据命令
mysqldump -u root -p wenda > dump.txt 其中wenda为数据库,可以在数据库后加入表的名称,导出到dump.txt文件中
欢迎来我的小论坛来玩,听说ip地址暴漏出去挺严重的会导致别人的攻击,小伙伴们别攻击我啊,学生党不容易啊,防君子不防小人吧,网站也没啥利益。
本来打算将头像与帖子的显示图片设置成上传的,用户可以更改头像和帖子封面的,不是固定的,但是我看了看我租的服务器的内存,机器硬盘总共才60G,真的好小啊,果然是打折产品。。。,果断设置成固定的,不然服务器存不了多少东西就满了。。。,楼主本人还想干点别的事情,所以就这样吧!
感言:楼主由于租的服务器,阿里云服务器里边啥都没有特别干净导致安装异常顺利,当然了用 宝塔 来安装更加便捷,一键安装,但是我想作为一个程序员怎么能傻瓜式操作呢,然后就上网查看资料完成了上述的安装步骤,然后还买了个域名,但是域名要备案,备案还要居住证明,楼主本人已经吐血,太麻烦了也,当初卖服务器的时候阿里云新手账号60能够租用一年,但是没有香港的服务器,选择不在大陆的服务器能够免于备案,然后就导致了我想在只能通过ip地址访问,域名被搁置了,好难啊。然后在网上看到各种博主的踩坑记录,看看有没有你的坑。
错误 mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决方案 这是却少 numactl 这个时候如果是Centos就 yum -y install numactl 就可以 解决这个问题了.
错误 Job for mysqld.service failed because the control process exited with error code
解决方案 是因为 /var/lib/mysql /这个目标路径已经存在/var/lib/mysql /,导致无法初始 化。删除/var/lib/mysql /后重启MySQL服务就可以了!
错误 You must reset your password using ALTER USER statement before executing this statement
解决方案 ALTER USER USER() IDENTIFIED BY '123456';
错误 Your password does not satisfy the current policy requirements 解决方案
1、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参 数为 LOW 即可, 输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,
2、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可, 输入设值语句 “ set global validate_password_length=6; ” 进行设值,
3、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可, 输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ” 可以看 到修改成功,表示密码策略修改成功了
当然你也可以设置复杂一点的密码,这样就不会报错了
1初始化如果有libssl.so.1.1相关的报错,要把默认的openssl升级到1.1以上版本,参考博客https://qq52o.me/2732.html 解决此问题
2如果直接到官网下载现版本会是el8,初始化时会有/usr/lib64/libstdc++.so.6相关报错(因为版本低),提示差了一大堆mysqld运行需要的版本库,建议直接找el7的mysql解决问题,下载地址https://centos.pkgs.org/
3 还是初始化,报错libaio.so.1,解决方法 yum install -y libaio
4 root操作 ERROR 1396 (HY000) 的报错是因为之前创建过但删除不干净,重新删除drop user root@root;
5 按流程操作但MySQL远程连接不成功大概率是因为阿里云服务器没有开放端口(安全组)
6 防火墙注意指令顺序,记得云服务器把端口开放就行
7 前后端都丢到服务器上以后图片资源读取不了(404),是因为table.html中img的路径读取问题,/改成./就行
最后感谢哔哩哔哩up主提供的学习资料
视频链接:https://www.bilibili.com/video/BV1Z5411W7m7