Linux 服务器安装JDK、MySQL和Tomcat,发布web项目解决404问题
你是否也遇到这样的问题 |
Linux里安装了JDK、Tomcat和MySQL,但是无法访问Tomcat下webapps中的项目,404。
首先你要确保环境没有问题,其次就是项目代码的问题。在本机上能运行,现在怎会404呢?
解决思路:连接数据库的四要素有问题,数据库不在同一个地方,有可能名字也变了。还有就是useUnicode=true&characterEncoding=UTF-8
,解决中文检索不到数据的问题。
仔细阅读前提 |
- 说明:安装包全部在window环境下载好,必须以.tar.gz结尾,才能在Linux环境使用。使用 Xftp 上传到虚拟机上/home/mytest/目录下。
JDK的下载、安装 |
-
下载JDK
-
解压缩 tar.gz文件:
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/
,其中 -C /usr/local 是指定解压后的文件存放位置 -
Linux使用默认JDK环境,需要在/etc目录下的profile文件最后加上:
export JAVA_HOME=/usr/local/jdk1.8.0_121 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
-
profile文件修改成,执行 source /etc/profile 让上面的配置生效
-
执行java -version检查是否配置成功
Tomcat下载安装 |
- tomcat官网:http://tomcat.apache.org/
- 国内镜像:http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M26/bin/apache-tomcat-9.0.0.M26.tar.gz
- 解压缩:
tar -zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
- 启动:在tomcat安装目录/bin下执行
./startup.sh
- 关闭:
./shutdown.sh
- 日志文件:在tomcat安装目录/logs下生成日志文件,如果项目运行出现问题,在这里查看日志文件。
- catalian.out
控制台输出的日志文件(在eclippse中的console窗口的内容),查看此文件。可以使用cat , more , less , grep , 常用查看日志 tail -f catalina.out - localhost_access_log.2017-08-16.txt
tomcat接收到的http请求日志。tomcat服务器上运行的web应用接收的请求,请求方式(get,post),请求地址,请求参数(get请求),处理是否成功都在此文件记录。
- catalian.out
mysql 下载安装 |
-
(1) 下载MySQL
-
(2) 上传MySQL安装文件到Linux,这里先不要着急压缩,检查系统是否安装了mariadb数据库,检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。
-
(3) 卸载mariadb:若linux中安装了mariadb数据库,先卸载掉,mariadb数据库可能与安装mysql发生冲突,执行命令:
yum -y remove mariadb-libs.x86_64
-
(4) 解压mysql:
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
,将解压后的mysql-5.7.18-linux-glibc2.5-x86_64改名为mysql-5.7.18 或者 mysql,为了明确mysql的版本,建议改名为mysql-5.7.18,执行:mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7.18
。 -
(5) 创建数据文件夹data:data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹,切换到mysql-5.7.18目录,执行创建文件夹命令
mkdir data
。 -
(6) 创建用户执行 mysqld 命令:创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。执行命令:
useradd mysql
-
(7) 初始化MySQL:使用mysql的 mysqld 命令初始化数据库的基本信息。切换到mysql-5.7.18/bin目录下执行。命令(注意下面的命令是在一行执行的):
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql-5.7.18/data --basedir=/usr/local/mysql-5.7.18
,该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住
,后续第一次登录mysql需要使用 -
(8) 启用安全功能:在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序,mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。在mysql-5.7.18/bin目录下执行命令:
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data
-
(9) 修改mysql安装目录的权限:mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属的用户和组,是之前创建的mysql用户。在mysql安装目录的上级(/usr/local/)位置,执行命令
chown -R mysql:mysql /usr/local/mysql-5.7.18/
,R : 表示递归,更改目录中所有子文件夹的权限 -
(10) 启动MySQL:mysql-5.7.18/bin目录下执行命令:
./mysqld_safe &
(其中 & 符号表示后台启动),mysqld_safe程序会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe程序来启动MySQL服务器的做法在unix/linux系统上很常见。确认msyql是否启动,查看进程使用ps -ef | grep mysql
-
(11) 进入mysql:mysql-5.7.18/bin目录下执行命令:
./mysql -uroot -p
,-u 表示使用root用户登录系统,-p 表示使用密码登录,使用第7步生成的密码。 -
(12) 修改root密码:执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码,修改mysql的密码,命令语法:
alter user 'root'@'localhost' identified by '123456';(注意:sql语句结尾必须要有分号 ;)
-
(13) 授权远程访问:授权远程访问,在没有授权之前只能在本机访问msyql, 远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)授权命令:
grant all privileges on *.* to root@'%' identified by '123456';
,更新权限信息,执行flush刷新权限flush privileges;
-
(14) 测试mysql客户端访问mysql:连接错误:可能是Linux的防火墙起作用。可以将防火墙先关闭。
查看防火墙状态:systemctl status firewalld
让防火墙可用:systemctl enable firewalld
让防火墙不可用:systemctl disable firewalld
开启防火墙:systemctl start firewalld
禁用防火墙:systemctl stop firewalld
-
(15) 关闭MySQL服务: 在msyql客户端,执行exit退出msyql自己的客户端。关闭mysql服务器,mysql-5.7.18/bin目录下执行:
./mysqladmin -uroot -p shutdown
输入密码关闭
web项目部署到Linux系统 |
- war方式部署:把web应用打包为 .war扩展名的文件。把xxx.war文件使用Xftp上传到Tomcat的webapps目录,在linux下执行启动Tomcat,即可在tomcat中运行web应用。
- 访问web应用:在浏览器输入访问地址:http://192.168.1.104:8080/myweb/index.jsp,注意:ip和端口要和你的机器配置一致。
作 者:凑数的园丁
出 处:https://www.cnblogs.com/lq-404/
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。