在Linux环境下搭建JAVA WEB环境

一.项目必备软件及基本思路

项目必备:

  • 虚拟机:VMware Workstation (已安装linux的 CentOS7.4版本)
  • 项目:java web项目 (必须在本地部署编译后选择项目的webRoot,改为ROOT(ROOT包含下面四个关键文件),放到tomcat下的webapps下即可,因为tomcat启用一个工程的时候,就是发布了除了JSP以外的,所有已被编译过的java文件,所以只能放在本地部署生成编译后的class文件)。
  • java环境配置:配置JDK
  • 服务器:tomcat
  • 数据库:MySQL

基本思路:(特别注意各处的编码设置)

1.配置java环境(下载jdk并配置环境变量)
2.下载并安装tomcat (设置tomcat编码)
3.安装mysql并导入sql(注意:mysql客户端和服务器端编码设置,必须设置完再导入sql,这个折腾了好久)
4.项目导入并修改数据库连接配置
5.启动mysql,启动tomcat,访问即可!

二.具体操作

1.将centOS的yum源更新为国内的阿里云源 (方便下载和安装软件包)

第一步:备份你的原镜像文件,以免出错后可以恢复。

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup


image.png

第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/
我的做法是将文件先下载到本地,然后通过xshell传到对应目录下
第三步:运行yum makecache生成缓存 (管理安装包,下次安装直接找到安装包即可)
yum clean all
yum makecache

2.下载java环境(java runtime environment )

yum search java (找到 java-1.8.0-openjdk.x86_64 )
yum install java -1.8.0-openjdk.x86_64
java -version //显示ok,安装配置成功

3.下载tomcat8.0(免安装版)

第一步:下载安装tomcat(http://tomcat.apache.org/)我这边是下载的apache-tomcat-8.0.50.tar.gz

image.png

image.png

我是放在了usr/local/tomcat下所以要创建tomcat文件夹并将解压文件移动到tomcat下(由于之前新建过再次创建或出现重复)

mkdir /usr/local/tomcat

然后通过xshell将解压后的文件夹移动到/usr/local/tomcat下

第二步:设置Tomcat编码,配置Tomcat服务器编码为UTF-8:(这个很重要!!)
打开tomcat安装目录下的conf/server.xml文件,(大约在69行处)
将8080端口的<connector></connector>标签中设置成 URIEncoding=”UTF-8”。
如:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
第三步:启动Tomcat

./startup.sh

image.png

我在启动tomcat(./startup.sh) 的时候遇到了permission denied的情况,这是因为权限不够,需要对tomcat赋可执行权限。

chmod -R 777 apache-tomcat-8.5.42/

image.png

好了,问题解决!
使用浏览器访问 http://localhost:8080(或服务器ip),出现tomcat默认页面,说明已经安装成功

4.下载并安装MYSQL

这一步也是遇到了巨坑,我安装的版本是centOS7.4,根据网上的教程安装了mysql之后发现启动不了服务,后来一查,原因是该版本已经不支持mysql,于是转而安装了mariaDB

  • 安装mariaDB

安装命令

yum install -y mariadb-server

启动mariaDB服务

systemctl start mariadb.service

将mariadb服务添加至开机自启动

systemctl enable mariadb.service

接下来进行MariaDB的相关简单配置

mysql_secure_installation

首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录

mysql -uroot -ppassword

完成!

  • 配置MariaDB的字符集

文件/etc/my.cnf

vi /etc/my.cnf

在[mysqld]标签下添加

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'  
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

文件/etc/my.cnf.d/client.cnf

vi /etc/my.cnf.d/client.cnf

在[client]中添加
default-character-set=utf8

文件/etc/my.cnf.d/mysql-clients.cnf

vi /etc/my.cnf.d/mysql-clients.cnf

在[mysql]中添加
default-character-set=utf8
全部配置完成,重启mariadb

systemctl restart mariadb

之后进入MariaDB查看字符集

mysql> show variables like "%character%";show variables like "%collation%";

显示为
image.png

字符集配置完成。

  • 添加用户,设置权限

创建用户命令

mysql>create user username@localhost identified by 'password';

直接创建用户并授权的命令

mysql>grant all on . to username@localhost indentified by 'password';

授予外网登陆权限

mysql>grant all privileges on . to username@'%' identified by 'password';

授予权限并且可以授权

mysql>grant all privileges on . to username@'hostname' identified by 'password' with grant option;

刷新权限

flush privileges;

简单的用户和权限配置基本就这样了。
其中只授予部分权限把 其中 all privileges或者all改为select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分。

一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:

sudo netstat -tap | grep mysql

如果服务器不能正常运行,您可以通过下列命令启动它:

sudo /etc/init.d/mysql restart

进入mysql
$mysql -uroot -p 管理员密码
配置 MySQL 的管理员密码:

sudo mysqladmin -u root password newpassword

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容