写在前面
首先说使用云服务器和我们使用自己的PC电脑其实是差不多的,只是我们在服务器上运行的一些软件都是提供网络服务的。在本文中,我们首先了解一些远端服务器的控制工具,然后了解一下服务器的整体配置,最后了解一下如何将自己的项目部署到服务器上。
我们的项目使用了J2EE后端,数据库是MySQL,服务器使用了Tomcat;服务器使用Ubuntu Server LST 16.04系统,我本地的系统是Windows 10系统。
本文的J2EE云服务器的部署主要涉及到以下的知识点:
- 远端控制工具的准备
- Putty
- WinSCP
- 服务器系统的熟悉
- Linux常用命令
- Vim编辑器的使用
- 服务器语言的修改
- J2EE后端配置
- JDK的安装配置
- MySQL的安装配置
- Tomcat的安装配置
01 远端控制工具的准备
要操控远端的云服务器,我们可以有很多方法,比如腾讯云它就有自带的网页上的控制台。我想讲的两个工具Putty和WinSCP,可以更方便地控制和管理我们的云服务器,以下是它们的简介:
Putty 远端服务器的控制终端,也就是相当于在本地打开了一个远端linux系统的控制台Terminal;
WinSCP 后者是一个远端服务器文件管理工具,可以通过这个工具很方便地上传文件到服务器或者从服务器下载文件,还可以对文件进行编辑修改。
这两个工具的下载方式不细说了,直接在官网或者第三方网站下载即可,各种版本都可以。
Putty的简单使用方法
打开Putty,首先是连接远端服务器的界面,在Host Name输入自己云服务器的IP地址和端口即可(默认端口为22)
链接成功后,输入云服务器的用户名和密码(在购买云服务器的时候会配置),就可以像使用Linux的Terminal一样地使用这个工具了
WinSCP的简单使用方法
WinSCP的登录,需要在登录界面同时输入云服务器的IP以及服务器的用户名和密码
登录成功过后,就可以像操作自己windows系统的电脑一样来操控linux服务器上的文件,还可以通过拖拽方式把自己本地的文件拖拽进界面所示的右边区域以上传文件到服务器。另外,还可以双击某个文件进行编辑修改。
02 服务器系统的熟悉和配置
一些常用命令
学计算机的同学,了解Linux是必不可少的,我们在很多的实际生产过程中,需要用到很多工具软件,有很多是没有图形界面的(比如我最近正在学的Grunt等一系列前端自动化工具),所以学会用命令行来操作计算机是很有必要的。
想要学会配置服务器肯定是要先学会使用一些Linux常用命令的,因为篇幅有限和文章的偏重,我也不能在这里过多地介绍Linux命令,想了解一些常用命令可以移步初窥Linux 之 我最常用的20条命令以及【Linux】Linux中常用操作命令
需要注意的是在本文中的操作涉及到的一些基础命令是:
- 登录到root
sudo -i - 切换目录
cd - 查看文件
ls - 解压缩
tar - 创建目录
mkdir
其中的一些操作也可以通过前面提到的WinSCP工具来实现。
Vim的使用
其实是我以前从未使用过Vim,对它很不熟悉,而在ubuntu server系统下,无法使用Gedit这种带有图形界面的编辑器,所以稍微了解了一下Vim编辑器。另外前面说过了,在WinSCP中也可以对服务器中的文件进行编辑。
据说Vim是一款功能极其强大的编辑器,不过我对它的了解只有皮毛,此处写的也只是非常基础的一点使用方法。
Vim有三种模式,分别为命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。在命令模式下可以使用一些Vim下的命令以及查看文档的内容,在插入模式中就可以对文档进行编辑,底行模式可以设置编辑环境和一些编译工作,底行模式有时也算入命令模式中。
以下是基本的文档编辑流程:
- 用Vim打开文件
vim 文件名
打开文件后,最初是命令模式,然后输入命令进入插入模式 - 进入插入模式
i
通过以上命令进入插入模式后,就可以对文档进行编辑了,编辑完成后就可以退回到命令模式 - 退回到命令模式
<esc>
按esc键即可回到命令模式,此时就可以保存退出了 - 保存退出
wq
如果想要了解更多关于Vim的知识,请参考vi/vim基本使用方法
服务器语言修改
服务器默认语言是英文,如果不进行一些配置的话,会出现一些问题,比如服务器返回到客户端的中文数据会乱码。
这一部分是比较简单的,直接戳下面这个链接查看详细的步骤吧:
ubuntu server 支持中文
03 J2EE后端配置与项目部署
JDK的安装与配置
我们有了WinSCP这个工具,就可以通过以下步骤来安装JDK:
- 在服务器新建一个文件夹预留给JDK
- 在本地PC上下载JDK,可以在ORACLE官网下载
- 通过WinSCP上传下载好的压缩包到我们云服务器上先前创建的文件夹
- 解压JDK的tar压缩包到当前文件夹
- 编辑配置文件,添加环境变量
其他步骤没有什么好说的,具体说一下最后一步:
vim /etc/profile
然后插入以下内容:
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
其中JAVA_HOME的地址就根据自己的实际情况来
MySQL的安装与配置
1. MySQL的安装
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
以上三条命令就可以直接安装MySQL,需要注意的是,在执行完第一条指令时,会要求配置MySQL的账户与密码,此处需要设置得与Java后端功能中访问的账户密码一致,才能保证后端功能的正常运行
2. MySQL的中文编码配置
需要在MySQL中进行一次中文编码配置,否则关于数据库的查询写入操作得到的数据会出现乱码问题
要修改MySQL的中文编码配置,首先说一下MySQL的登录与编码查询
- 登录到MySQL
mysql -u用户名 -p密码 - 进入到MySQL后,输入以下命令以查看编码
show variables like '%character%';
我们可以看到图中除了文件系统的编码是binary外,其他的编码都是utf8,这就是我们最终需要得到的结果。
而要得到这样的编码配置,就需要修改一些配置文件,不同的系统版本和不同的MySQL版本都会影响到这些文件的位置。可以在WinSCP中使用文件搜索功能搜索mysql.cnf和mysqld.cnf这两个文件快速找到配置文件。可以在系统/usr或者/etc文件夹搜索这些文件以减少搜索时间,在我的系统中,这两个文件的位置在/etc/mysql文件夹下。
具体配置方法:
在mysql.cnf和mysqld.cnf这两个文件中分别找到配置项[mysql]和[mysqld],在这两个配置项下各添加一行
default-character-set=utf8
如下两图所示:
我觉得这方面的配置方法改变得很快,灵活处理就好。
3. sql文件的导入
我们在本地操作数据库可以使用图形化的界面,而在服务器上就没有那么方便。于是我们可以在本地完成数据库文件的编写,直接导入到服务器的数据库中。
以下是详细步骤:
- 从本地的数据库工具中导出本地工程的sql文件
- 使用WinSCP将sql文件上传到服务器上
- 在服务器中(使用Putty工具)登录服务器的MySQL数据库(具体登录方式见前文)
- 进入MySQL后,用SQL语句新建一个Database,语句如下
create database 数据库名
注意这个数据库名要和Java后端功能访问的数据库名一致 - 选择新建的数据库,语句如下
use 数据库名 - 将之前的sql文件导入数据库,语句如下
source 路径及文件名.sql - 导入成功后,可以用select语句查询是否成功,比较容易出现的问题是某些字段的默认值违规导致数据库导入失败
安装Tomcat及运行服务器
好了,最后一步呢,就是安装Tomcat和运行服务器了
1. 安装Tomcat
安装Tomcat的方法和安装JDK的方法类似,先在Tomcat官网选择合适的版本(一般最新的就可以了),然后选择下载Core的tar.gz包,如下图:
然后通过WinSCP上传压缩包到服务器上并解压,Tomcat就安装完成了。
2. 上传工程并运行Tomcat
在运行服务之前当然是要把我们的工程放到服务器中,在本例中我们是一个J2EE工程,以下是详细步骤:
- 在myeclipse中导出工程的war文件
- 用WinSCP上传war文件到服务器
- 将war文件放到Tomcat安装文件夹的webapps文件夹中
完成以上三步,就完成了工程的上传了,接下来就只需要最后一步运行服务器了,在Tomcat的安装目录下打开bin目录,找到startup.sh文件,运行即可,运行命令:
./startup.sh
这样,我们的Tomcat就跑起来了,它也会自动运行Webapps文件夹下的war文件中代码提供的服务。
另外一个小提示,进入Tomcat安装文件夹下的logs文件夹,执行以下命令可以查看Tomcat实时的console输出:
tail -f catalina.out
最后
由于工作室之前抢到1元腾讯云服务器的人只剩我一个还在续费的了(其实之前是为了搭建饥荒的服务器才续费的2333),所以工作室前几次项目的服务器部署任务都落到了我的身上,通过这几次实践,也踩了一些坑,积累了一点点经验。
非常感谢CSDN、Linux社区、脚本之家大神们的一些分享,在实际操作的过程中我也在这些网站获得了许多帮助。写这篇文章是为了记录下整个服务器整体部署的流程,有些地方会不太注重细节,主要是方便以后配置新的服务器时查阅。
那么谢谢阅读啦,这篇文章就结束了。如果这篇文章对你有帮助的话,我也会很高兴的啊。