前两天由于自己的傻逼操作吧服务器搞崩了(再次告诫各位使用删除命令一定要谨慎!!!),万幸的是数据库已提前备份过了!(养成好习惯!!差点凉凉!!)好吧没办法 只能重置阿里云服务器重新设置服务器环境部署了!!
这里记录一下我所遇到的一些坑!! 这篇文章只有最基本的知识!!下面开始吧
首先说一下服务器:系统 aliyun(debian9) 阿里云控制台提供了一种快照恢复的功能,以便于你可以在服务器异常时通过快照恢复服务器状态,但是这个是需要你手动生成快照文件的,但是我从来没有做过这个操作,快照区什么都没有(建议大家一定要配置快照!防患于未然!!)。
从控制台重置系统,本地使用Xshell或其他软件远程连接服务器:
我们需要做以下几步操作
1.安装jdk配置环境变量
2.安装mariadb
3.安装tomcat
4.项目打包以及一些注意事项
① 首先去orcal官网下载jdk1.8 连接https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前官方刚对1.8做了一次bug升级,建议使用191或者更高的版本,这里就选择8u211
首先新建目录/usr/local/java 将压缩包上传至次目录,然后解压,编辑环境变量 /etc/profile 末尾添加JAVA_HOME
export JAVA_HOME=/usr/local/java/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin
检查jdk安装结果 java -version 出现
说明jdk环境变量配置成功。
② Debian已经提供了mariaDb的软件包 首先通过以下命令来导入仓库密匙并获取mariaDB仓库
sudo apt install software-properties-common dirmngr
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.dotsrc.org/mariadb/repo/10.3/debian stretch main'
通过以下命令安装
sudo apt-get update
sudo apt-get install mariadb-server
安装过程中会让你输入root用户密码 输入你的密码等待安装完成即可。
关于mariadb 首先它默认只有本地可以访问 要去/etc/mysql/mariadb.conf.d/50-server.cnf文件中注释掉
bind-address= 127.0.0.1(前面加#)
然后就是设置用户和权限:
Grant ALl PRIVILEGES ON *.* To '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION 此处赋予了你的用户最大权限 真实情况下不建议这样处理关于权限请参考 https://www.cnblogs.com/Csir/p/7889953.html
在本地使用Navicate等数据库管理软件连接成功就说明数据库已可以远程访问!至此数据库安装结束!
③本地下载tomcat 上传至服务器 解压
Tomcat的bin目录下存放执行 ./startup.sh 启动tomcat 执行./shutdown.sh关闭
特别的项目部署会有很多的问题出现 此时要关注的是tomcat logs 目录下的日志文件 catalina.out 相当于编译器的控制台 此处会有详细的异常提醒 localhost-2019-0X-0X 此处是单日日志记录 大部分的报错信息都可以在这两个日志文件中找到 找到问题 解决问题!!!
④项目采用jfinal框架 如果你想了解此框架请移步https://www.jfinal.com/
特别注意jfinal打包部署至外部tomcat是一定要参看https://my.oschina.net/jfinal/blog/353062
配置虚拟路径 可以帮你避免很多坑!!!
记录两个报错信息
1.Access denied for user 'XXX'@'localhost' 导致数据库连接失败的问题
一是由于没有权限 当你检查你的权限没有问题 路径什么的也OK的话 建议一定要看一看用户名和密码(我就卡在密码上!!太粗心了!!)
2.系统用到了二维码 报错 NoclassdefFoundError:could not initialize class java.awt.imageBufferedImage错误
解决方法:只需在TOMCAT启动参数中加"-Djava.awt.headless=true \"
启动文件是:\bin\catalina.sh
加入的上下文 是
else
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
-Djava.awt.headless=true \*********加入这一行**************
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
if [ ! -z "$CATALINA_PID" ]; then
echo $! > $CATALINA_PID
fi
fi
elif [ "$1" = "stop" ] ; then
加的时候注意位置(stop是关键的位置标志)
打完收工!!