七步完成Java Web部署

Posted by Surflyan on 2017-10-02

第一步: 购买 VPS

可以选择国外服务器提供商,相较国内,价格更优,还能做其他国内服务器做不了的事情。

第二步:安装 SSH 客户端和文件传输工具

接下来,安装 SSH 客户端,实现远程管理 Linux 主机。mac 自带终端可以进行远程管理。还需要一个网络文件传输工具。作为本地 windows 系统和远程 Linux 主机文件传输的桥梁。个人选择 Xshell 和 Xftp 来管理远程服务器。

第三步:JDK 配置

连接上远程服务器之后,就可以开始配置 Java Web 环境了。选择相应 Linux 版本 JDK (最好同本地的版本一致),下载到本地后上传到服务器,使用 tar 命令解压。配置 JAVA 环境变量是非常关键的一步。使用 vi 编辑 ~/.bashrc ,博主将 jdk 解压到了 /usr/lib/jvm/下,环境变量配置如下:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

退出保存后,执行java -version查看是否配置成功。

第四步:Tomcat 配置

同 JDK 类似,下载相应版本上传服务器,解压,配置环境变量。博主同样 tomcat 解压到 /usr/lib/jvm/下,编辑 apache-tomcat-9.0.0.M26/bin下,startup.sh 脚本。配置如下:

JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144
JRE_HOME=${JAVA_HOME}/jre
PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}
CLASSPATH=.:${JRE_HOME}/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
TOMCAT_PATH=/usr/lib/jvm/apache-tomcat-9.0.0.M26

保存退出后,启动 tomcat, 在 tomcat 目录下,执行 ./bin/startup.sh。登陆 IP 地址+端口号,查看 tomcat 是否已成功启动。

第五步:安装 MySQL

使用 apt-get 安装 MySQL,执行如下命令:

#更新源
:~# apt-get update --fix-missing
# 安装
:~# apt-get install mysql-server mysql-client

Linux 下通过 service 启动/停止数据库:

#mysql 5.5 版如下执行,5.0 版 mysql 替换为 mysqld 执行
~# service mysql start
~# service mysql stop
~# serviec mysql restart

第六步: 上传本地 .sql 文件

对于一般 Web 项目都有数据库支持,在我们部署 web 之前,需要先把数据库部分上传到服务器。在本地执行mysqldump -h localhost -u root -p databasename>databasename.sql 生成.sql 文件。上传服务器到,在服务器上创建同名数据库 databasename , 选中此数据库后执行mysql>source path/databasename.sql导入 sql 文件。

若数据库存在中文,注意修改编码方式。

# 查看编码(两种方式)
mysql>status
mysql>show variables like 'character_set_%'

#修改MySQL 配置文件/etc/my.cnf (不同安装方式,my.cnf 具体位置不一致)
# 在[client]下追加:
default-character-set=utf8
# 在[mysqld]下追加:
character-set-server=utf8
# 在[mysql]下追加:
default-character-set=utf-8

修改完成后重启数据库。查看数据库中中文乱码问题已解决。

博主在此遇到了一个坑,修改编码之后,mysql 再也连接不上, 提示ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2),根据 StackOverflow 上的大牛提供的方法没有解决我的问题,几经折腾,最后最没技术的方法,重启远程服务器,问题解决。

第七步:上传项目文件

在本地将项目文件导出为.war文件,上传到tomcat/Webapps/下,重启tomcat ,此时就可以访问项目了。

BookManageSystem

请多多指教!