写在前面

首先说使用云服务器和我们使用自己的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命令,想了解一些常用命令可以移步

需要注意的是在本文中的操作涉及到的一些基础命令是:

登录到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键即可回到命令模式,此时就可以保存退出了

保存退出

wq

如果想要了解更多关于Vim的知识,请参考

服务器语言修改

服务器默认语言是英文,如果不进行一些配置的话,会出现一些问题,比如服务器返回到客户端的中文数据会乱码。

这一部分是比较简单的,直接戳下面这个链接查看详细的步骤吧:

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%';

MySQL

我们可以看到图中除了文件系统的编码是binary外,其他的编码都是utf8,这就是我们最终需要得到的结果。

而要得到这样的编码配置,就需要修改一些配置文件,不同的系统版本和不同的MySQL版本都会影响到这些文件的位置。可以在WinSCP中使用文件搜索功能搜索mysql.cnf和mysqld.cnf这两个文件快速找到配置文件。可以在系统/usr或者/etc文件夹搜索这些文件以减少搜索时间,在我的系统中,这两个文件的位置在/etc/mysql文件夹下。

具体配置方法:

在mysql.cnf和mysqld.cnf这两个文件中分别找到配置项[mysql]和[mysqld],在这两个配置项下各添加一行

default-character-set=utf8

如下两图所示:

[mysql]

[mysqld]

我觉得这方面的配置方法改变得很快,灵活处理就好。

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包,如下图:

Tomcat下载

然后通过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社区、脚本之家大神们的一些分享,在实际操作的过程中我也在这些网站获得了许多帮助。写这篇文章是为了记录下整个服务器整体部署的流程,有些地方会不太注重细节,主要是方便以后配置新的服务器时查阅。

那么谢谢阅读啦,这篇文章就结束了。如果这篇文章对你有帮助的话,我也会很高兴的啊。

java web服务与配置,Java Web远端服务器的配置与部署相关推荐

  1. java web服务_将Java服务公开为Web服务

    java web服务 本教程解决了开发人员面临的最实际的情况. 大多数时候,我们可能需要将某些现有服务公开为Web服务. 在项目生命周期的不同阶段可能会遇到这种情况. 如果这是初始阶段,那么您几乎是安 ...

  2. Web服务(02)——Web服务器中间件

    文章目录 Web服务(02)--Web服务器中间件 前言 一.JAVA中间件 1.Tomcat 2.Weblogic 3.Jboss 4.Webshaere 二.Python中间件 1.wsgi 2. ...

  3. ONEDNS配置1:centos7DNS服务器forwarder配置

    ONEDNS配置1:centos7DNS服务器forwarder配置 1.显示当前网络连接 2.修改当前网络连接对应的DNS服务器 3.将dns配置生效 4.修改 /etc/NetworkManage ...

  4. 中国专业开发者最多,最受 Web 服务青睐,Java 8 为最受欢迎版本 | 2020 年 Java 开发现状大调查...

    来源 | JetBrains官博 译者&责编 | 夕颜 出品 | CSDN(ID:CSDNnews) 今年,Java已经25岁"高龄"了,再次创下辉煌的里程碑.最近,Jet ...

  5. Java微服务开发指南-Java环境下的微服务

    本文涉及的内容,能让你学到什么? 本书适用于开发微服务的Java开发人员和架构师.我们在开始介绍微服务架构前,先讲述一些抽象的基本概念.不幸的是,使用新技术并不能神奇地解决分布式系统问题.但是我们通过 ...

  6. Java微服务开发指南 -- Java环境下的微服务

    Java环境下的微服务 本文涉及的内容,能让你学到什么? 本书适用于开发微服务的Java开发人员和架构师.我们在开始介绍微服务架构前,先讲述一些抽象的基本概念.不幸的是,使用新技术并不能神奇地解决分布 ...

  7. 什么是web服务_什么是Web服务?

    什么是web服务 Web Services are client and server applications that communicate over the World Wide Web's ...

  8. java gearman_gearman服务连接php java

    标签: 在实际工作中,会碰到两个问题 (1)现有系统想集成一个开发组件,而该组件的SDK却没有现有语言版本. (2)系统中的一项功能非常耗费资源,最好能利用其它机器来处理. 本文介绍gearman的使 ...

  9. 本地通过配置代理访问远端服务器

    MobaXterm + FoxyProxy (Firefox的插件) 配置代理,实现本地访问远端服务器 SSH服务器:10.136.77.88(作为跳板机,本地访问远端服务器需要先连到这个跳板机) ( ...

最新文章

  1. 查看linux上redis的运行状态,Redis教程(七)使用info查看服务状态
  2. SecutrCRTt 连接VirtualBox 中的Ubuntu -端口转发
  3. Linux开机启动服务管理
  4. Linux 复习重点目录
  5. 中兴8912交换机show run故障处理
  6. markdown与latex:向量形式给字母加粗 \pmb{}
  7. 夏令营提高班上午上机测试 Day 1 解题报告
  8. 11gpath失败 oracle_win10安装oracle11g提示path长度不够,该怎样解决?
  9. ASP.NET开发框架之HIPPO技术内幕(三)--数据库连接
  10. java 打印出了对象_Java打印对象信息(二)
  11. VB基础知识之Do...Loop循环
  12. mysql proxies priv_Mysql 5.7.18 利用MySQL proxies_priv实现类似用户组管理
  13. 微信小游戏获取排行榜
  14. 浅谈java中的ServerSocket和Socket的通信原理实现聊天及多人聊天
  15. Centos7/RedHat7安装NVIDIA显卡驱动
  16. java全栈系列之JavaSE-面向对象(接口定义与实现)042
  17. 海康设备对接sdk错误码汇总 v6.0
  18. Flutter实现一个酷炫带动画的列表型多选日历组件
  19. 计算机思维 第7章
  20. html文字段落分割,P段落标签

热门文章

  1. Top 命令 如何查看linux系统中空闲内存/物理内存使用/剩余内存
  2. android中XMl文件的读取
  3. 功能测试Bug频发?测试工作中这点不可忽略
  4. php java sql_java如何连接sql数据库?
  5. java 行为模式_java设计模式--行为模式
  6. 计算机组装与维修单元卷,计算机组装与维修期中考试试卷及答案
  7. malloc开辟的空间在哪一个区间_C++进阶系列之STL(2)SGI版本空间配置器
  8. 定义一个DOG类(Java)
  9. 自定义元素探秘及构建可复用组件最佳实践
  10. webpack url-loader limit 转换部分资源为base64格式 其余不转换