一般Javaweb的开发环境都是在Windows系统下,Windows配置javaweb环境比较复杂的也就是jdk和非安装的tomcat了。一直想亲手配置一下Linux服务器级别的Javaweb环境,刚好组内购买了一台云服务器,比较开心,不过花了大半天才配置好……

概述:Linux下配置Javaweb流程与Windows无异,主要是安装jdk、tomcat、MySQL等服务,本文将详细介绍Linux系统安装以上服务的过程及部署一示例程序的过程。
本人所用各软件版本:

系统版本:
Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017
jdk版本:java version "1.8.0_181"
tomcat版本:tomcat-8.5.33
MySQL版本:Server version: 5.7.21

1.安装前准备

  1. 下载并破解SecureCRT,主要用于远程ssh登陆服务器,并上传文件到服务器或从服务器下载文件,网上有很多安装破解教程可以自行查找,这是我自己整理并使用的版本——百度云链接: https://pan.baidu.com/s/1uAhjaNqdB_gDKkfowcuN3w 密码: dz6g。
  2. 服务器安装“lrzsz”,以便使用rz、sz命令与本地交互文件
    命令:yum install lrzsz

2.安装JDK

  1. 去官网手动下载Linux下的jdk包,我用的版本是——百度云链接: https://pan.baidu.com/s/1qY_ry0pf2KabPoyhFMiaqQ 密码: uxek
  2. 将下载的jdk包使用rz命令上传到服务器(ps:rz命令会将文件上传到当前目录下,如果不想使自己服务器比较乱的话最好创建一个文件夹,我的是/usr/java/)
  3. 解压该压缩包:tar -zxvf jdk-8u181-linux-x64.tar.gz
  4. 添加环境变量,在/etc/profile文件后追加一下内容
JAVA_HOME=/usr/java/jdk1.8.0_181
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH


5. 命令行刷新profile文件:source /etc/profile,安装完成

3.安装tomcat

  1. tomcat安装方法跟jdk很相似。先下载tomcat包,我这里用的tomcat为——百度云链接: https://pan.baidu.com/s/1On9zrl15Fe2SnnQMe53wgw 密码: m1yw
  2. 使用rz命令将tomcat上传到任意目录并解压(我是/usr/tomcat)
  3. 进入tomcat的bin目录下,使用./startup.sh运行tomcat
  4. 查看tomcat是否运行

    5.运行成功后一般可以直接在浏览器栏输入:ip:8080访问到tomcat的默认界面,不过阿里云服务器需要配置8080端口的安全策略才可以访问

4.安装MySQL

MySQL有两种安装方式,一种是使用yum直接安装,第二种是类似于上面tomcat和jdk的安装方法,个人推荐第一种方法,特别简单,第二种踩了好多坑……

先卸载服务器自带的mariadb数据库(如果有的话)

[root@jdu4e00u53f7 java]# rpm -qa|grep mariadb //查询是否安装mariadb
[root@jdu4e00u53f7 java]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件

方法一:
安装运行MySQL:

[root@jdu4e00u53f7 java]# yum install mysql-community-server //安装
[root@jdu4e00u53f7 java]# service mysqld restart            //运行
[root@jdu4e00u53f7 java]# mysql -uroot                      //登陆(初次安装没密码)
mysql>use mysql;
mysql> update user set password=PASSWORD("test") where user='root'; //设置密码
mysql> flush privileges;                                    //刷新数据库
mysql> quit;  

方法二:
下载MySQL数据库压缩包,我用的是——链接: https://pan.baidu.com/s/1NtZJsxquVbHlwLtqruYX8w 密码: ts8c
将该数据包rz上传到服务器(我是/usr/mysql5.7.21),使用tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 解压
创建MySQL用户和组:

[root@izuf6eu3mkqq1m44uqn3wdz mysql5.7.21]# groupadd mysql
[root@izuf6eu3mkqq1m44uqn3wdz mysql5.7.21]# useradd -r -g mysql mysql

修改mysql用户拥有者:

[root@izuf6eu3mkqq1m44uqn3wdz mysql5.7.21]# chown -R mysql:mysql /usr/mysql5.7.21
[root@izuf6eu3mkqq1m44uqn3wdz mysql5.7.21]# chown -R mysql /usr/mysql5.7.21
[root@izuf6eu3mkqq1m44uqn3wdz mysql5.7.21]# chown -R mysql:mysql /var/lib/mysqldata
[root@izuf6eu3mkqq1m44uqn3wdz mysql5.7.21]# chown -R mysql /var/lib/mysqldata

安装mysql依赖:yum install libaio
初始化mysql,这里最后会有个随机临时密码,请记下它,不然之后需要重置密码:./mysqld --user=mysql --basedir=/usr/mysql5.7.21 --datadir=/var/lib/mysqldata --initialize
修改MySQL配置文件vim /usr/mysql5.7.21/support-files/mysql.server 对应内容为:

mysqld_pid_file_path=
if test -z "$basedir"
thenbasedir=/usr/mysql5.7.21bindir=/usr/mysql5.7.21/binif test -z "$datadir"thendatadir=/var/lib/mysqldatafisbindir=/usr/mysql5.7.21/binlibexecdir=/usr/mysql5.7.21/bin
elsebindir="$basedir/bin"if test -z "$datadir"thendatadir="$basedir/data"fisbindir="$basedir/sbin"libexecdir="$basedir/libexec"

将mysql设为开机自启:

[root@izuf6eu3mkqq1m44uqn3wdz init.d]# cp /usr/mysql5.7.21/support-files/mysql.server  /etc/init.d/mysqld
[root@izuf6eu3mkqq1m44uqn3wdz init.d]# chmod 755 /etc/init.d/mysqld
[root@izuf6eu3mkqq1m44uqn3wdz init.d]# chkconfig --add mysql        //添加任务
[root@izuf6eu3mkqq1m44uqn3wdz init.d]# chkconfig --list             //查看自启任务
[root@izuf6eu3mkqq1m44uqn3wdz init.d]# /etc/init.d/mysqld start     //启动mysql

进入MySQL数据库(密码为上面的临时密码):

修改数据库密码同第一种方法

5.项目部署

因为之前写过类似的文章,所以在此就不再赘述,原文见:Javaweb项目部署

第一次部署Javaweb服务器还是费了一些时间,大概是不了解Linux系统运行原理的原因,其中一些东西理解也不够透彻,如果大家有什么问题,欢迎留言讨论

Linux系统部署Javaweb环境相关推荐

  1. 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...

    阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...

  2. apache camel 相关配置_小白在 linux 系统部署apache、mysql、Laravel 环境学习笔记!

    在 linux 系统部署apache.mysql.Laravel 环境 一.在 CentOS 7.2 服务器下 部署 apache yum clean all --- 功能是:清除系统垃圾 yum - ...

  3. linux部署项目文档,Linux系统部署项目

    Linux系统部署项目 在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署指的是我们在服 ...

  4. linux系统中变量,Linux系统中的环境变量知识详解

    对于没有使用过linux系统的用户来说,有很多术语和功能都很陌生.本文就介绍了linux系统中的环境变量的相关知识,具体内容如下所述. linux是一个多用户的操作系统.每个用户登录系统后,都会有一个 ...

  5. Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command ‘........‘

    Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command '-' 例如这里就指的是fisco-bcos这个 ...

  6. 基于Linux系统部署新世纪版五笔输入法

    基于Linux系统部署新世纪版五笔输入法 出于工作需要,突然生出学习五笔的想法.五笔有三个版本:86/98/新世纪. 按照新手上路,有新学新的想法,选择了新世纪版. 然后发现了个坑:公司电脑是Linu ...

  7. linux怎么查看系统环境变量路径,Linux系统中的环境变量该如何设置与查看

    今天小编要跟大家分享的文章是关于Linux系统中的环境变量该如何设置与查看.大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常 ...

  8. Linux系统中Java环境的搭建及JDK的安装(附上每一步操作截图及说明)【一看就懂】

    开门见山 第一步: 官网下载你所要使用的jdk版本:或本地已经存在的Linux系统的jdk压缩包.(这里以jdk1.8为例) 将此压缩包按如下图所示操作(1.进入/opt/文件 2.将压缩包拖入此处) ...

  9. linux系统部署web项目

    十二.Linux下安装软件[重点] 12.1 安装JDK 在Linux下安装JDK,并配置JAVA_HOME环境变量-- 12.1.1 下载JDK的压缩包 去逛网下载压缩包,由于oracle官网更新, ...

最新文章

  1. PNAS “深度学习的科学”论文合集导读
  2. linux下shell显示-bash-4.1#不显示路径解决方法
  3. 存储时间:从Symmetrix V-Max看高端存储的未来
  4. 英特尔cpu发布时间表_10纳米来了:英特尔十一代酷睿上市,性能提升20%,AI算力乘5倍...
  5. HTML学习04之内联框架和表单
  6. C Primer Plus 第7章 C控制语句:分支和跳转 7.4 一个统计字数的程序
  7. mysql的事务语句_MySQL提供的事务控制语句
  8. rfid 标签内存_智能仓库之RFID仓库管理中的条形码与电子标签应用-RFID仓库管理功能与特点-新导智能...
  9. 没事爱在线上制造故障?这位程序媛有话说
  10. 写一个案例,搞得不要不要的。尴尬了。
  11. 计算机关机后 为何会亮,Win10系统电脑关机后主机电源灯依然亮着怎么解决
  12. 基于Multisim的循环彩灯控制器仿真设计
  13. Keil 5(C51, MDK) 官方下载方法
  14. tornado 学习笔记7 RequestHandler功能分析
  15. AppLocker绕过之路
  16. 中断机制及ZCU102 DMA中断实例
  17. 剖析中移动未来之路之二
  18. PHP 微信公众号真正正确的客服头像上传
  19. PostgreSQL安装以及和mysql的对比
  20. 重装系统当识别不到硬盘的解决办法

热门文章

  1. (universal Image Loader)UIL 使用 (2)
  2. 怎样建设一个公司网站的教程
  3. html 单击readmore 无效,如何在html中创建只需要锚点的see-more/Read-more功能?
  4. 背景建模方法《python图像处理篇》
  5. Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理--旧的动画系统)
  6. Secospace TSM 终端安全管理系统概述
  7. python爬虫——selenium
  8. 笔记本计算机虚拟技术,教大家联想笔记本电脑如何打开Intel 虚拟化技术
  9. 利用ps制作一些好看的渐变图
  10. 网易全面复盘直播答题,剖析产品架构的难点与坑