美文网首页Java web我爱编程linux
[手把手] Centos 7.3配置Java Web环境(jdk

[手把手] Centos 7.3配置Java Web环境(jdk

作者: v587的毅哥 | 来源:发表于2017-04-25 11:24 被阅读768次

本来这篇文章是作为自己私有记录的,所以也没有MarkDown(主要是不怎么写博客,也不熟悉)。稍微修改一下就发上来了,与其他文章的区别是一步一步地从空服务器开始,所以会有某方面不够全面的问题。当然,后面的Nginx与vsftpd没按步骤记录了...空了再补上来。


1、安装JDK

首先。确定安装jdk的路径为/usr/local/java下面。

第一步:下载64位的jdk-8u131-linux-x64.tar.gz包

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载的命令是:# curl -O那个tar.gz的url

这里的基本操作不清楚的请看下面的:3、安装tomcat

第二步:解压

# tar -zxvf

jdk-8u131-linux-x64.tar.gz(可能后面有一堆下载验证的码,无所谓,带上也行)

第三步:配置环境变量

# vim /etc/profile

打开后在文末加上如下:

#set java environment

JAVA_HOME=/usr/local/java/jdk1.8.0_131

JRE_HOME=/usr/local/java/jdk1.8.0_131/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME

CLASS_PATH PATH

2、安装MySQL

因为MySQL被oracle收购后存在闭源风险,所以很多人都选择了mariadb。mariadb与MySQL完全兼容,但是我这里还是继续选择安装MySQL5.7。

第一步:安装mysql-devel:

# yum install mysql-devel

第二步:安装mysql-server:

https://dev.mysql.com/downloads/repo/yum/这个网址选择带download的第一项,因为我这里是centos7所以选择的第一项,复制括号里的mysql57-community-release-el7-10.noarch.rpm。然后,运行安装命令:

# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

# rpm -ivh

mysql57-community-release-el7-10.noarch.rpm

# yum install

mysql-conmmunity-server

重启一下MySQL服务(好像不重启也没关系):# service mysqld restart

第三步:进入mysql试试? # mysql -uroot -p

what?要密码?是多少?我也不知道。既然不知道就重设密码吧!(网上有人说不要密码?反正我这里需要,不知道什么鬼!)方法如下:

1.先把登录需要密码的功能给干掉

# vim /etc/my.cnf

再在最后加上这一句代码:skip-grant-tables然后保存退出。

2.重启mysqld

# service mysqld restart

3.登录并修改密码

# /usr/bin/mysql

这样就直接进入了MySQL了,下面开始执行MySQL的命令:

mysql> use mysql;

mysql> update

mysql.user set authentication_string=password('你想设置的密码')

where user ='root';

使之不用重启就生效:

mysql> flush

privileges;

退出mysql:

mysql> quit

4.将MySQL的登录设置改回来(肯定需要密码吧,不能裸奔啊~)

# vim /etc/my.conf

把刚才加在最后面的最后那一句删掉(也就是这句:skip-grant-tables),然后保存退出。

5.重启mysqld

# service mysqld restart

6.修改编码

# vim /etc/my.cnf

在里面的最后加上默认的编码:

[mysql]

default-character-set=utf8

7.总不能把root账号作为开发账号吧?那就新建一个(具体多少个随你需求)账号:

# mysql -uroot -p

输入密码进入mysql后添加一个test账号试试?

mysql> create user

'username'@'%' identified by 'password';(注:%是通配符,也可以是其他ip地址或localhost)

发现报错了:mysql error You must reset your password using

ALTER USER statement before executing this statement.

它是说你得先重设你的密码后才能继续操作,之前虽然改过密码了,但是这里不知道为什么还是要验证一下让我们重新设置,当然,我们可以设置为之前的密码。。。不过,如何解决呢?

①myql> SET PASSWORD =

PASSWORD('your new password');

mysql> set password

for 'dev1'@'%' = password('dev1');

如果你的密码太简单,比如就输入123456等等之类的

发现又报错了:Your password does not satisfy the current

policy requirements

如何解决①这个错误呢?

1.把优先级调成0(low):只验证密码的长度。

mysql> set global

validate_password_policy=0;

2.设置最小密码长度为n位,比如你只想设置一个最低4位密码的验证,那n就为4吧!

mysql> set global

validate_password_length=4;

现在你就可以执行①那句:mysql> SET PASSWORD =

PASSWORD('your new password');

②mysql> alter user

'root'@'localhost' password expire never;

③mysql> flush

privileges;

现在你就可以添加用户咯(如上):mysql> create user 'username'@'%'

identified by 'password';

④为用户授权某个db的使用权

语法:grant [select|update|all] on

db_name.table_name to 'user'@'auth_option';详细请见mysql> help grant;

mysql> grant all

privileges on test_mydb.* to 'dev1'@'%';

mysql> flush

privileges;

8.添加开机启动

# vim /etc/rc.local

添加如下代码:

service mysqld start

9.添加远程访问权限

下面的root是账号,%是代表所有ip都能访问,把%替换为ip地址也是可以的.

mysql> grant all

privileges on *.* to 'root'@'%' identified by '123456' with grant option;

mysql> use mysql;

mysql> update user set

host='%' where user='root';

然后退出后重启一下mysql就好了。

# systemctl restart

mysqld

3、安装tomcat

我这里选择的是最新的tomcat最新版tomcat 9.0.0.M20,官方网址:

http://tomcat.apache.org/download-90.cgi?Preferred=http%3A%2F%2Fmirror.bit.edu.cn%2Fapache%2F

点击core:里面的tar.gz,这是在你浏览器里开始下载了,如果你是跟我一样的chrome浏览器:暂停下载,然后'显示下载内容'右键'复制链接地址',其实就是为了要的这个链接地址而已。

1.进入目标目录

# cd /usr/local

2.创建tomcat目录(这一步不是必须的,因为我是想的新建一个tomcat目录可以再在里面安装tomcat的,目的是在这个文件夹里可以装几个版本的tomcat,如果你没这个需求就不用了,就放到/usr/local下面也没关系)

# mkdir tomcat

# cd tomcat

3.下载tomcat的tar.gz文件

# wget

http://xxxxxxx/tomcat.xxx.tar.gz(这个网址就是之前在浏览器复制的那个包的地址,粘贴到这就行了)

4.下载完成后就解压

# tar -zxvf

apache-tomcat-xxx.tar.gz(这里的xxx是看你下载的那边版本,反正就是你刚下载的那个文件)

5.已经解压后就删除之前那个tar.gz的压缩包吧!

# rm -rf

apache-tomcat-xxx.tar.gz

6.启动tomcat:

# cd

/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin

# ./startup.sh

7.因为centos现在默认的是firewalld而不是iptables了,所以先禁用firewalld(防火墙!!!)

# systemctl disable firewalld

8.安装iptables(如果有停下来需要你确认的地方,按y然后回车就好了。如果不想按y,可以设置默认为y。例如:# yum -y iptables-service)

# yum install

iptables-services

9.配置iptables,在里面添加8080等你需要的端口

# vim

/etc/sysconfig/iptables

在里面你会发现默认有一些东西,如果没有你就自己上网搜如何配置吧!

找到并鼠标选中后复制如下一行:

-A INPUT -p tcp -m state

--state NEW -m tcp --dport 22 -j ACCEPT

再在它下面粘贴n行,如果你要开放某个端口就复制一行。我这里复制一行,然后就如下样子了:

-A INPUT -p tcp -m state

--state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state

--state NEW -m tcp --dport 22 -j ACCEPT

修改第二行的22端口为8080,然后保存退出。

# :wq

10.启用iptables服务

# systemctl enable

iptables

# systemctl start

iptables.service

11.验证

在你电脑上的浏览器输入your_ip:8080试试?

12.配置tomcat环境变量

配置的目的是随便在哪个路径下都可以./startup.sh来启动或./stutdown.sh来关闭tomcat。

# vim /etc/profile

我这里就直接粘贴的环境变量给大家了:

#set java environment

JAVA_HOME=/usr/local/java/jdk1.8.0_131

JRE_HOME=/usr/local/java/jdk1.8.0_131/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

#set tomcat environment

TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M20

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M20

#path config

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$TOMCAT_HOME/bin

export JAVA_HOME JRE_HOME

TOMCAT_HOME CATALINA_HOME CLASS_PATH PATH

13.这时其实你会发现一个问题,那就是tomcat启动后,打开网址要转很久很久地圈,可能几十秒-十几分钟不等。具体原理是那个熵池的锅,具体是什么玩意儿我也不清楚。这里就贴网上的解决办法:

# yum install rng-tools

# systemctl start rngd

这样应该就行了,但是如果你的cpu不支持DRNG特性或者使用的是虚拟机可以使用/dev/unrandom来模拟。

# cp

/usr/lib/systemd/system/rngd.service /etc/systemd/system

# vim

/etc/systemd/system/rngd.service

以下是编辑内容:

ExecStart=/sbin/rngd -f

-r /dev/urandom

重启一下:

# systemctl daemon-reload

# systemctl restart rngd

14.配置tomcat的开机启动,毕竟服务器难免宕机(其实阿里云这玩意儿确实不怎么会,但是自己手动搞宕机了呢?不用再手动去重启一下tomcat呀!)

①tomcat需要增加一个pid文件

在tomcat/bin目录下面,增加setenv.sh配置,catalina.sh启动的时候会调用,同时配置java内存参数

# cd

/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin

# vim setenv.sh

复制如下代码到里面并保存退出:

#tomcat启动pid

export

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M20

export

CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M20

#add tomcat pid

CATALINA_PID="$CATALINA_BASE/tomcat.pid"

#add Java opts

JAVA_OPTS="-server

-XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m

②在/usr/lib/systemd/system目录下增加tomcat.service,目录必须是绝对目录

# vim /usr/lib/systemd/system/tomcat.service

复制如下代码到里面并保存退出:

[Service]

Type=forking

PIDFile=/usr/local/tomcat/apache-tomcat-9.0.0.M20/tomcat.pid

ExecStart=/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin/startup.sh

ExecReload=/bin/kill -s

HUP $MAINPID

ExecStop=/bin/kill -s

QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

##[unit]配置了服务的描述,规定了在network启动之后执行,

##[service]配置服务的pid,服务的启动,停止,重启

##[install]配置了使用用户

③其实前面2步只是配置了一个tomcat.service。但是,现在就可以用systemctl命令来管理咯!下面是systemctl的基本使用方法(下面的name是服务的名称,后面的.service其实也可以不加):

查看服务状态

# systemctl status

name.service

启动服务

# systemctl start

name.service

停止服务

# systemctl stop

name.service

重启服务

# systemctl restart

name.service

增加开机启动

# systemctl enable

name.service

删除开机启动

# systemctl disable

name.service

④现在把tomcat.service加入到开机启动里面吧!

# systemctl enable

tomcat.service

⑤查看一下状态呢?

# systemctl status

tomcat.sercie

如果不是类似如下状态那就是没配好:

● tomcat.service - Tomcat

Loaded: loaded

(/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)

Active:active (running)since Sat 2017-04-22

18:34:42 CST; 13min ago

Main PID: 2242 (java)

CGroup:

/system.slice/tomcat.service

└─2242

/usr/local/java/jdk1.8.0_131/jre/bin/java -Djava.util.loggi...

Apr 22 18:34:42

iz2ze0k7zwwksqhk2zq3c7z systemd[1]: Starting Tomcat...

Apr 22 18:34:42

iz2ze0k7zwwksqhk2zq3c7z startup.sh[2234]: /usr/local/tomcat/a...

Apr 22 18:34:42

iz2ze0k7zwwksqhk2zq3c7z startup.sh[2234]: /usr/local/tomcat/a...

Apr 22 18:34:42

iz2ze0k7zwwksqhk2zq3c7z startup.sh[2234]: Tomcat started.

Apr 22 18:34:42

iz2ze0k7zwwksqhk2zq3c7z systemd[1]: Started Tomcat.

Hint: Some lines were

ellipsized, use -l to show in full.

如果提示的是如下:

Neither the JAVA_HOME nor

the JRE_HOME environment variable is defined

哦,对了,那就是忘了配置catalina.sh里面的环境变量!

# vim

/usr/local/tomcat/apache-tomcat-9.0.0.M20/bin/catalina.sh

再#!/bin/sh的下一行(因为前面那个是代表shell脚本,所以得在他下面)加入后保存退出:

export

JAVA_HOME=/usr/local/java/jdk1.8.0_131

export

JRE_HOME=/usr/local/java/jdk1.8.0_131/jre

现在运行一下如下命令重新载入一下:

# systemctl daemon-reload

现在应该可以使用③里面的那些命令了(还不行?咱们使用一下重启大法:# reboot)。

⑥测试是否已正常加入开机启动?

# reboot

然后再在启动后运行:

# systemctl status

tomcat.service试试,看看active的状态是否是:active?或者直接访问yourip:8080看看是否正常启动了?

⑦改8080端口为80,因为我这里是买的阿里云的,所以你知道要为什么要改为80撒?你需不需要改看你自己的情况

# vim

/usr/local/tomcat/apache-tomcat-9.0.0.M20/conf/server.xml

重启一下tomcat

# systemctl restart

tomcat

⑧在浏览器访问一下试试?

http://yourip

附:启动多个tomcat

1、修改端口

①复制成2份tomcat(直接复制tomcat的文件夹),我这里的tomcat1为:apache-tomcat-9.0.0.M20,tomcat2为:apache-tomcat-9.0.0.M202,所以后面的操作均为我本机的改法,触类旁通吧!

# cp tomcat1 tomcat2

②配置必须不同的端口

# vim

/usr/local/tomcat/apache-tomcat-9.0.0.M202/conf/server.xml

修改如下端口:

shutdown="SHUTDOWN">

protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8444"

/>

protocol="AJP/1.3" redirectPort="8444" />

2、增加tomcat2.service来配置自启动(当然,你也可以直接在/etc/rc.d/rc.local中加入tomcat-path/bin/startup.sh的方式来配置自启动,当然,这样就不能用systemctl start tomcat的方式来启动了哈),其实方式跟新配置一个tomcat没什么区别,上面已经提到了。

①配置环境变量

# vim /etc/profile

②增加pid

# vim /usr/local/tomcat/apache-tomcat-9.0.0.M202/bin/setenv.sh

复制粘贴如下代码:

#tomcat启动pid

export

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M202

export

CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M202

#add tomcat pid

CATALINA_PID="$CATALINA_BASE/tomcat2.pid"

#add Java opts

JAVA_OPTS="-server

-XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m

③配置tomcat2.service

# vim

/usr/lib/systemd/system/tomcat2.service

复制粘贴如下代码:

[Service]

Type=forking

PIDFile=/usr/local/tomcat/apache-tomcat-9.0.0.M202/tomcat.pid

ExecStart=/usr/local/tomcat/apache-tomcat-9.0.0.M202/bin/startup.sh

ExecReload=/bin/kill -s

HUP $MAINPID

ExecStop=/bin/kill -s

QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

##[unit]配置了服务的描述,规定了在network启动之后执行,

##[service]配置服务的pid,服务的启动,停止,重启

##[install]配置了使用用户

4、安装并配置ftp

通过与chroot_local_user=YES/NO搭配能实现以下几种效果:

1、当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

2、当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。

3、当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。

4、当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

#不加下面这一句会出现:500 OOPS: vsftpd: refusing to run withwritable root inside chroot()

allow_writeable_chroot=YES

#如果userlist_enable=YES

#那么userlist_deny=NO就代表/etc/vsftpd/user_list里面的用户是白名单

#否则userlist_deny=YES就代表/etc/vsftpd/user_list里面的用户是黑名单

添加用户:

useradd your_username

#增加用户userName,设置该用户的主目录为/home/ftp,禁止登录SSH权限

# -d:指定主目录

# -g:设置用户的群组

# -s:设置SSH权限

# -p:设置密码

useradd -d /home/ftp -g

ftp -s /sbin/nologin userName -p password

#修改用户密码:

passwd userName

5、安装并配置Nginx

1、安装

2、配置

# vim /usr/local/nginx/conf/nginx.conf

相关文章

网友评论

  • ca5c07ce3ae7:刚弄了个京东云 java环境配置完了之后 安装mysql
    # yum install

    mysql-conmmunity-server 时报错
    [root@JD /]# yum install mysql-conmmunity-server
    Loaded plugins: fastestmirror
    Repository base is listed more than once in the configuration
    Repository updates is listed more than once in the configuration
    Repository extras is listed more than once in the configuration
    Repository centosplus is listed more than once in the configuration
    Loading mirror speeds from cached hostfile
    No package mysql-conmmunity-server available.
    Error: Nothing to do
    该怎么解决呢请问

本文标题:[手把手] Centos 7.3配置Java Web环境(jdk

本文链接:https://www.haomeiwen.com/subject/rhqvzttx.html