Java Servlet项目打包到云服务器的操作。
本次环境是Centos 7.6,使用的是腾讯云服务器。
安装JDK环境
先使用命令,查看自己Centos是多少位的:
uname -a
如果有x86_64就是64位的,没有就是32位的。后面是X86或X86_64则内核是64位的,i686或i386则内核是32位的
一般来说,我都是使用JDK8.0版本,毕竟版本很稳定,所以,去官网JDK官网
注意需要一直往下滑,选择JDK 8.0 Linux版本。先在本地,下载这个版本就可以了。
然后可以使用工具例如Xftp,或者MobaXterm(吹爆)进行文件上传。
进入到文件夹,解压命令:
tar -zxvf jdk-8u301-linux-x64.tar.gz
mv jdk1.8.0_341 javajdk #改名字
下面开始配置环境变量:
vim /etc/profile
进入到insert模式:
JAVA_HOME=/jacin/Tools/javajdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
注意到JAVA_HOME不要写错了。
按esc退出然后:wq!保存
下面使文件生效:
source /etc/profile
输入java -version看是否成功:
下面可以写一个Java文件来进行测试:
使用命令javac Main.java 和java Main就可以了(注意此时不要在最前面写package,否则会报错java Main Error: Could not find or load main class Main)
这里清晰的说出了,如果有package,那么你的java文件所在的目录结构就要和package对应。classpath只是一个基点,package是以classpath的相对路径。
我在/etc/profile中修改了classpath的特性,加了.: 表示当前路径,注意退出以后记得source一下。
所以我新建了一个文件,此时就可以输出了:
$ mkdir hello
$ mv HelloWorld.java hello
$ javac hello/HelloWorld.java
$ java hello.HelloWorld
Hello World
$ rm HelloWorld.class
$ java hello.HelloWorld
Hello World
$ java hello/HelloWorld
Hello World
目录结构和package要对应,如 package hello,就一定更要把class文件放在hello目录下,在运行的时候一定要带上全称:package + 类名
如:hello/HelloWorld 或 hello.HelloWorld
安装Tomcat
依旧使用Tomcat 8.0,现在本地下载好,然后上传。
解压
tar -zxvf apache-tomcat-8.0.50.tar.gz
我这里使用的是腾讯云的服务器,首先打开安全策略,配置端口:
进入到apache/bin,输入
./startup.sh
可以看到:
在浏览器输入自己的ip,可以看到相应的内容:
用完以后记得关闭,端口将不会打开。
安装mysql
请看我这篇博客:
安装mysql
下面我使用腾讯云再次演示一遍:
核心命令:
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
yum repolist all | grep mysql
yum install -y mysql-community-server
systemctl start mysqld
systemctl status mysqld
记得去腾讯云开3306端口。
先查看下自己的密码:
grep 'temporary password' /var/log/mysqld.log
使用工具登录就会让你更改密码了(注意密码要有难度的,否则不予通过)
这里的意思是让主机不是localhost,可以变成多个ip进行。
use mysql;
update user set host = '%' where user='root';
flush privileges;
打包War并部署
使用IDEA进行打包,这个功能似乎只有终极版才有(社区版应该是没有的)
点击,选择该项目的文件包内容
这样就可以了,右下角有fix,可以进行点击。
回到项目
点击build->build Artifacts 然后选择和之前一样的名字,就生成了.war文件了。
使用ssh打开自己的服务器
进入到Tomcat文件包
cd apache-tomcat-8.5.82/
把.war文件夹放在webapps中,
然后进入到bin包,./startup.sh 运行Tomcat项目,可以发现自己的文件夹已经被解压了。
此时输入ip:8080就可以进入到Tomcat界面,然后输入自己的项目的URL(注意去腾讯云关闭防火墙,步骤和之前类似)
以上。