项目在liunx环境中运行
操作系统:ubuntu16.04.7 server
准备的中间件和数据库有:jdk,tomcat,mysql
版本:
ubuntu16.04.7 server
apache-tomcat-8.0.41
jdk1.8.0_191
mysql8.0.12
安装jdk:
![](https://i-blog.csdnimg.cn/blog_migrate/54fc25bb97798fdd05151776e09832fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2063aec3b194e4fe1a041d04b8f5a9a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/00cc1091684a9a2a6fe2d4337ae31e43.png)
安装tomcat:
首选下载安装包:apache-tomcat-8.0.41.tar.gz
命令:
sudo su ---获取权限,普通账号没有创建文件件的权限
mkdir -m 777 /usr/local/tomcat8 ---创建文件夹tomcat8 附777权限
将apache-tomcat-8.0.41.tar.gz上传到/usr/local/tomcat8中
cd /usr/local/tomcat8 ----进入/usr/local/tomcat8目录
tar -zxvf apache-tomcat-8.0.41.tar.gz ---- 解压apache-tomcat-8.0.41.tar.gz安装包
sudo ufw allow 8080 ---- 设置防火墙允许访问的端口8080(tomcat的端口号)
cd /usr/local/tomcat7/apache-tomcat-8.0.41/bin/ --进入目录
./startup.sh ---启动tomcat
测试访问:
tomcat安装完成
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安装mysql:
下载安装包:(都是官网上下载的)
sudo su ---获取权限,普通账号没有创建文件件的权限
mkdir -m 777 /usr/local/mysql8 ---创建文件夹mysql8 附777权限
将下载的文件全部上传到/usr/local/mysql8中
请参照以下顺序安装:(注意:不同版本的ubuntu系统所需要的依赖包不同)
下载依赖包的地址:https://pkgs.org/download/libaio1 和 https://dev.mysql.com/downloads/mysql/
libaio1_0.3.110-2_amd64.deb
libmecab2_0.996-1.2ubuntu1_amd64.deb
mysql-community-client-core_8.0.12-1ubuntu16.04_amd64.deb
mysql-community-server-core_8.0.12-1ubuntu16.04_amd64.deb
mysql-client_8.0.12-1ubuntu16.04_amd64.deb
mysql-community-client_8.0.12-1ubuntu16.04_amd64.deb
mysql-common_8.0.12-1ubuntu16.04_amd64.deb
mysql-community-server_8.0.12-1ubuntu16.04_amd64.deb
cd到/usr/local/mysql8中然后依照以下顺序执行:
(如果不按照下面的顺序执行的话,有可能会报错,报错的信息内容就是提示想要安装当前的软件包缺少了XXX的依赖,有可能您使用的其他ubuntu版本本身就存在了安装mysql8.0.12所需的依赖。
所以请视情况安装。我的环境是ubuntu16.04.7,下面安装的这些是在ubuntu16.04.7server中安装mysql8.0.12需要的。)
sudo dpkg -i libaio1_0.3.110-2_amd64.deb
sudo dpkg -i libmecab2_0.996-1.2ubuntu1_amd64.deb
sudo dpkg -i mysql-community-client-core_8.0.12-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-server-core_8.0.12-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-common_8.0.12-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-client_8.0.12-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-client_8.0.12-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-server_8.0.12-1ubuntu16.04_amd64.deb
安装完成
在最后执行 sudo dpkg -i mysql-community-server_8.0.12-1ubuntu16.04_amd64.deb 时系统会提示输入root账号密码和加密方式。
在选在加密方式的时候请选择X5.0那个加密。(有两个选项,选第一个也成,就是后期修改比较麻烦。mysql8.0的版本采取了新的加密方式,X5.0是选用原来的加密,有一些mysql连接工具在验证密码的时候还是采用原来的加密验证,如果您选择了第一个,有可能存在使用连接工具不能连接到mysql服务的可能。)
service mysql stop ---数据库停止命令
service mysql start ---数据库服务启动
service mysql restart --重启
安装完成后可使用 mysql -uroot -p 进入数据库测试使用一下。退出命令为quit
到此jdk,mysql,tomcat 在ubuntu16.0.4.7中安装完成
-----------------------------------------------------------------------------------------------------------
遇到的问题:
(本人自己遇到的,不一定适合所有人)
问题1:mysql安装完成后,在ubuntu中正常运行,但是远程不到。
原因有三:
原因1:没有设置远程访问。(这个不写了,网上一大堆。就是提醒一下mysql8.0以上版本对比mysql5.X版本修改了表字段,所以网上查阅的时候记得加上mysql8.0的关键字哦)
原因2:没有配置好my.cnf文件。(我自己也是一个小白,不能为您说明具体的来龙去脉,请谅解。)
解决办法:
先停止mysql的服务
service mysql stop ---数据库停止命令
然后使用find命令在ubuntu中寻找一下my.cnf文件的位置(我的环境是有这个my.cnf文件的,有的liunx系统安装mysql完成后找到不这个文件,请上网找一下解决办法,不要担心这个是小问题的)
vim /etc/mysql/my.cnf ---(我的环境是这个位置)修改my.cnf文件, 如下图所示,有的my.cnf文件中的内容没有,现在本人将测试可行的配置内容放置下方。
[client]
port=3309 -------------------------端口 ,默认端口3306 我改了 。有需要修改端口号的也是咋这里面修改哦。
socket=/tmp/mysql.sock --------------这个文件也需要使用find命令找一下,配置正确的路径 这个关系到使用连接工具能否连接上,文件路径配置不对可能导致连接失败哦
[mysqld]
port=3309 ---------------------------端口,默认端口3306 我改了
user=root
socket=/tmp/mysql.sock --------------这个文件也需要使用find命令找一下,配置正确的路径 这个关系到使用连接工具能否连接上,文件路径配置不对可能导致连接失败哦
basedir=/usr/lib/mysql -------------- (数据库安装位置)
datadir=/var/lib/mysql --------------- (数据存放文职)
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
原因3:防火墙端口,开放22(ssh)和mysql端口号
-----------------------------------------------------------------------------------------------------
问题2:在tomcat-lib中导入一些jar包后,启动失败,报错信息是组件启动失败。
推测原因:这个事情让我吐了好几升老血,根本的原因就是导入的jar包和tomcat自带的jar包冲突,也可能是导入的jar与jdk的版本不匹配。
本人是更换了好几个版本的jdk和tomcat才好用,最后依据我要部署的项目才确定是apache-tomcat-8.0.41和jdk1.8.0_191能兼容我导入那些jar。
友情提示:tomcat自带的jar一定要保留,导入的jar不可以覆盖tomcat自带的jar,还要仔细对比jar的版本。比如导入的一个servlet1.0.jar,而tomcat自带一个servlet2.0.jar那么就留下最新的servlet1.0.jar就不要导入了
声明:我是小白一个,写的东西仅供参考。不对的地方希望大神指出,本人一定吸取学习。
----------------------------------------------------------------------------------------------------------
问题3:在tomcat-lib中导入一些jar包后,启动成功后log中提示找不到XXX.jar
推测原因:导入的jar引起的问题,可以找一个jar中好压打开(压缩工具)看一个东西。例如:iText-2.1.3.jar
打开后,发现有写class-path的地方 后面写了一些jar包的名称,tomcat启动加载jar包时会按照写的jar包名称去寻找,如果在tomcat-lib下没有这些jar包,log中就会提示缺少XXX.jar
(本人试过将class-path以及后面写的删除,就不报这个错误了,当然我这个方法好像不是正确解决问题的思路,所以只供参考.........PS:我不是开发人员哦...)