10.问题:如何将Windows系统下开发的JavaWeb项目部署到Linux服务器上并发布运行?

解决方案:

第1步:登录阿里云网站https://ecs-buy.aliyun.com/,购买一台Linux服务器

第2步:打开远程登录软件PuTTY,输入Linux服务器端IP进行登录(第一次需要确认证书),输入系统用户名(一般为root)和密码(就是购买服务器时自定义登录凭证时设置的密码)即可登录服务器进行命令操作

第3步:输入su命令切换至管理员身份,然后下载安装JDK,最后配置Java环境变量

3.1.创建目录(存放java开发环境)

mkdir /usr/local/java

3.2.进入该目录

cd /usr/local/java

3.3.下载JDK1.8

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz

3.4.解压JDK1.8压缩包

tar -xzvf jdk-8u201-linux-x64.tar.gz

3.5.进入"/etc"目录

cd /etc

3.6.将"profile"文件备份一份

cp profile profile.2019.03.09

3.7.对"profile"文件进行vim编辑(先按I键编辑,编辑完按ESC退出编辑,再敲":wq"保存退出)

vim profile

3.8.编辑时在该文件最后面(即unset -f pathmunge的下面)添加以下内容(即配置Java环境变量)

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export PATH=/usr/local/java/jdk1.8.0_201/bin:$PATH
export CLASSPATH=.

3.9.执行"/etc"目录下的脚本文件(即"profile"文件)

source profile

3.10.检查java环境变量是否配置成功

javac -version
输出结果为:javac 1.8.0_201
echo $PATH 
输出结果为:/usr/local/java/jdk1.8.0_201/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
which javac
输出结果为:/usr/local/java/jdk1.8.0_201/bin/javac
which java
输出结果为:/usr/local/java/jdk1.8.0_201/bin/java

3.11.如果以上检查没有问题,则重启服务器之后,java环境变量就可以生效了

reboot

3.12.进入java目录

cd /usr/local/java

3.13.编写一个HelloWorld类

vim HelloWorld.java
内容如下:
public class HelloWorld{
  public static void main(String[] args){
       System.out.println("Hello World!");
  }
}

3.14.查看该java源文件内容

more HelloWorld.java

3.15.将该java源文件编译成.class字节码文件

javac HelloWorld.java

3.16.运行该字节码文件,则控制台输出"Hello World!",说明Java环境变量配置成功!

java HelloWorld

第4步:下载安装Tomcat,由于Tomcat服务器默认占用8080端口,所以需要登录阿里云控制台开放防火墙的8080端口,然后外网才能访问.

4.1.进入java目录

cd /usr/local/java

4.2.下载Tomcat7

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.93/bin/apache-tomcat-7.0.93.zip

4.3.下载安装unzip工具命令

yum -y install unzip

4.4.解压apache-tomcat-7.0.93.zip包

unzip apache-tomcat-7.0.93.zip

4.5.进入Tomcat的bin目录中

cd /usr/local/java/apache-tomcat-7.0.93/bin

4.6.为所有.sh文件增加执行权限

chmod +x *.sh

4.7.启动Tomcat服务器

./startup.sh

4.8.检查Tomcat服务器是否正在运行中

ps -A|grep java
结果输出为: 3372 pts/0    00:00:02 java

4.9.检查防火墙是否已经打开8080端口(如果输入为FirewallD is not running,那么说明防火墙的8080端口没有打开,所以外网不能访问Tomcat服务器)

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

4.10.打开浏览器输入网址http://47.101.171.255:8080/进行测试,如果出现以下画面,那么说明Tomcat服务器已经搭建完毕!

4.11.关闭Tomcat服务器

./shutdown.sh

第5步:下载安装并配置MySQL(MySQL的分支MariaDB)数据库

5.1.通过yum下载并安装MariaDB数据库

yum -y install mariadb-server mariadb
另外,卸载MariaDB数据库命令为:
yum remove mariadb

5.2.启动MariaDB数据库

systemctl start mariadb.service

5.3.检查数据库是否正在运行中

ps -A|grep mysql

5.4.查看3306端口是否成功开启,即MariaDB数据库是否启动:

netstat -ln | grep 3306

5.5.进入数据库(安装后启动没有设置密码)

mysql -u root -p

5.6.检查数据库编码

show variables like 'char%';
输出结果为:(数据库默认编码为拉丁文)
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

5.7.数据库编码设置(修改配置文件, 设置数据库的默认编码为utf8,先按I键编辑,编辑完按ESC退出编辑,再敲":wq"保存退出)--注意:my.cnf是数据库的重要配置文件,改错了会导致数据库服务启动不了!!!

exit
cd /etc
cp my.cnf my.cnf.2019.03.09
vim my.cnf
在[mysqld]和[mysqld_safe]之间添加以下内容:
character_set_server=utf8
cd ..
cd root

5.8.重启数据库

systemctl restart mariadb.service

5.9.再次检查数据库编码

show variables like 'char%';
输出结果为:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

5.10.退出数据库并关闭数据库服务器

exit
systemctl stop mariadb.service

5.11.修改MariaDB数据库的密码

systemctl start mariadb.service
mysql -u root -p
第一次不用密码直接登录
USE mysql;
YourPasswordHere改为你要设置的密码
UPDATE user SET password=PASSWORD('YourPasswordHere') WHERE User='root' AND Host = 'localhost';
FLUSH PRIVILEGES;
exit
mysql -u root -p
输入你刚才设置的新密码登录即可,至此mysql数据库已经安装完毕!祝你好运~

第6步:将本地开发完成的数据库迁移到Linux服务器上

6.1.打开本地Windows系统的cmd命令窗口

d:
创建mysql文件夹(专门存放SQL文件)
mkdir mysql
进入mysql文件夹
cd mysql

6.2.导出现有数据库到SQL文件中(例如要迁移的数据库名为jsd1810db)

mysqldump -uroot -p jsd1810db > jsd1810db.sql
输入数据库登录密码
Enter password: ********
导出成功!
D:\mysql>

6.3.使用PuTTY的pscp命令将该SQL文件上传至Linux服务器

进入E盘(PuTTY所在的磁盘)
e:
进入PuTTY文件夹
cd E:\PuTTY
将jsd1810db.sql上传到Linux服务器的根目录下
pscp D:\mysql\jsd1810db.sql root@47.101.171.255:/root/
输入密码登录即可开始上传...
root@47.101.171.255's password:
jsd1810db.sql             | 3 kB |   3.5 kB/s | ETA: 00:00:00 | 100%
恭喜你!上传成功!
E:\PuTTY>

6.4.在Linux服务器远程登录端的窗口启动数据库服务器,并登录数据库

create database jsd1810db;
use jsd1810db;  
source jsd1810db.sql; 
select*from t_user;

6.5.至此,数据库已经迁移完毕!

第7步:部署Java Web应用到Linux服务器上的Tomcat Web服务器运行

7.1.在E盘创建myweb文件夹,专门存放Java Web应用(即开发完成打包的war包)

E:\PuTTY>cd ..

E:\>mkdir myweb

E:\>cd myweb

E:\myweb>

7.2.利用Eclipse将web项目导出war包到E盘下的myweb文件夹中

7.3.将该war包上传到Linux服务器的根目录下

返回E盘(PuTTY所在的磁盘)
cd ..
进入PuTTY文件夹
cd E:\PuTTY
将jsd1810db.sql上传到Linux服务器的根目录下
pscp E:\myweb\SSM-UMS.war root@47.101.171.255:/root/
输入密码登录即可开始上传...
root@47.101.171.255's password:
SSM-UMS.war               | 11918 kB | 5959.1 kB/s | ETA: 00:00:00 | 100%
恭喜你!上传成功!
E:\PuTTY>

7.4.在Linux服务器上利用cp命令将war文件部署(热部署,启动Tomcat时自动解压)到Tomcat中

cp SSM-UMS.war /usr/local/java/apache-tomcat-7.0.93/webapps

7.5.重新启动Tomcat

进入Tomcat的bin目录
cd /usr/local/java/apache-tomcat-7.0.93/bin
检查Tomcat
ps -A|grep java
如果发现Tomcat正在运行,则关闭Tomcat
./shutdown.sh
启动Tomcat
./startup.sh

7.6.测试

http://生产环境ip:8080/应用名(项目名称)/请求路径

开发环境:本地IP:PORT,即
http://127.1.0.0:8080/SSM-UMS/addUser.html

生成环境:服务器IP:PORT,即
http://47.101.171.255:8080/SSM-UMS/addUser.html

7.7.如果有错误请查看日志文件

cat /usr/local/java/apache-tomcat-7.0.93/logs/catalina.out

祝你好运~


2019/3/9 20:08:52 已解决!