第一步: 购买 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 ,此时就可以访问项目了。
请多多指教!