CentOS 搭建web java运行环境(tomcat)

云服务器在近些年越来越流行,很多大公司都有面向市场的云服务器。在工作闲暇的时候看到阿里云新人注册送半年服务器免费使用时长,果断的申请了一个,配置是最低的那档(总共花费9.9元,配置当然高不到哪去)。系统在启用的时候就可以选定,我选择了CentOS 7,现在开始配置吧。

新增用户

我选择连接工具是SmarTTY,一款完全免费的工具。
服务器总不能每次登陆都用root用户,对使用不安全,先增加一个用户。

[root@xiaobingxu /]# adduser example
[root@xiaobingxu /]# passwd example
Changing password for user example.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

出现successfully表示用户example新增成功,但是每次使用都要切换到root用户,也是很麻烦,所以我们可以赋予example用户sudo的权限。sudo权限配置在sudoers中,找到这个文件可以用whereis指令。

[root@xiaobingxu /]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/libexec/sudoers.so /usr/share/man/man5/sudoers.5.gz

找到sudoers位置,使用vim或者vi指令来编辑这个文件,推荐使用vim。

[root@xiaobingxu /]# ls -l /etc/sudoers
-r--r----- 1 root root 3979 Jan  6 15:40 /etc/sudoers

查看这个文件是只读文件,在保存的时候可以用 :wq! 强制保存退出。也可以使用chmod指令改变其写权限,待修改完,再还原只读权限。

#增加所有者写权限(u--所有者,g--所属组用户,o--其他用户;r--读,w--写,x--执行)
[root@xiaobingxu /]# chmod -v u+w /etc/sudoers
mode of '/etc/sudoers' changed from 0440 (r--r-----) to 0640 (rw-r-----)
#删除所有者写权限
[root@xiaobingxu /]# chmod -v u-w /etc/sudoers
mode of '/etc/sudoers' changed from 0640 (rw-r-----) to 0440 (r--r-----)
[root@xiaobingxu /]# vim /etc/sudoers

在 root ALL=(ALL) ALL 下增加一行

example ALL=(ALL)       ALL

每次获取sudo权限需要输入example用户密码,可以在最后一个ALL前加 NOPASSWD: ,这样就不需要密码了。
如下图:

这里写图片描述
切换用户example([root@xiaobingxu /]# su example),如果发现tab键自动补全功能缺失,使用以下命令:

[root@xiaobingxu /]# sudo vim /etc/passwd

将example所在一行修改为如下:
这里写图片描述

配置JDK1.8

阿里云服务器我碰到过系统盘突然没有网络,客服让初始化系统盘,所以最好把上传下载的文件保存到数据盘(相当于windows下除了C盘的其他盘),操作请看(https://jingyan.baidu.com/article/fb48e8be1ee0526e622e140d.html),这里写得比较详细,当然可以在出现问题后拷贝到数据盘或者其他备份。
在官网找到地址,使用wget命令下载,用file查看文件属性,发现下载下来的文件是个HTML,那就先下载到电脑上再用ftp上传到Linux(SmarTTY支持拖动上传)。
这里写图片描述

[example@xiaobingxu download]$ sudo wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
[example@xiaobingxu download]$ file jdk-8u151-linux-x64.tar.gz 
jdk-8u151-linux-x64.tar.gz: HTML document, ASCII text, with very long lines, with CRLF line terminators
#删除文件
[example@xiaobingxu download]$ sudo rm -f jdk-8u151-linux-x64.tar.gz 
#解压到jdk目录下(先新建一个jdk目录)
[example@xiaobingxu download]$ sudo tar -zxvf jdk-8u151-linux-x64.tar.gz -C /mydata/jdk/

接下来配置系统环境,配置当前用户就修改 ~/.bashrc,配置系统环境就修改 /etc/profile
这里写图片描述

扫描二维码关注公众号,回复: 2453486 查看本文章
[example@xiaobingxu jdk1.8.0_151]$ source /etc/profile
[example@xiaobingxu jdk1.8.0_151]$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

到此jdk已经配置好了。

配置tomcat 8

同样的方式下载tomcat 8([example@xiaobingxu download]$ sudo wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz),并解压(同jdk配置)。

#名字太长 重命名
[example@xiaobingxu tomcat]$ sudo mv apache-tomcat-8.5.24/ tomcat8

没有权限进入bin文件夹,可以修改bin的权限或者切到root用户下操作,sudo cd:找不到命令(cd不是一个应用程序而是Linux内建的命令,而sudo仅仅只对应用程序起作用)。
将conf下server.xml中8080改为80,输入网址可以访问。
这里写图片描述

[root@xiaobingxu bin]# ./startup.sh 

有时候tomcat启动特别慢,经查询是熵的读取被阻塞,增加rngd服务即可。

[root@xiaobingxu bin]# yum -y install rng-tools
[root@xiaobingxu bin]# echo 'EXTRAOPTIONS="--rng-device /dev/urandom"' > /etc/sysconfig/rngd
[root@xiaobingxu bin]# service rngd start
Redirecting to /bin/systemctl start rngd.service

tomcat的基本配置到此结束。有些时候需要访问tomcat管理页面,需要修改manager项目下的context.xml配置,注释代表任何地址都可以访问manager,或者配置你需要的网址。
这里写图片描述
然后增加管理员修改conf/tomcat-users.xml

这里写图片描述
重新启动tomcat即可登陆
这里写图片描述
现在部署一个简单的项目到tomcat,先将项目打成war包,放到webapps目录下,然后修改conf下server.xml。
这里写图片描述
重启tomcat,访问成功。
这里写图片描述

配置防火墙

为了安全,一般我们会根据需要开放一部分端口供使用,CentOS可以使用firewall。

#下载安装
[root@xiaobingxu bin]# yum install firewalld
#启动
[root@xiaobingxu bin]# systemctl start firewalld
#查看状态
[root@xiaobingxu bin]# systemctl status firewalld
#关闭
[root@xiaobingxu bin]# systemctl stop firewalld
#取消开机启动
[root@xiaobingxu bin]# systemctl disable firewalld
#开机启动
[root@xiaobingxu bin]# systemctl enable firewalld
#查看开放端口
[root@xiaobingxu bin]# firewall-cmd --list-ports
#重启firewall
[root@xiaobingxu bin]# firewall-cmd --reload
#开放22端口
[root@xiaobingxu bin]# firewall-cmd --zone=public --add-port=22/tcp --permanent

具体命令解析请自行查找。

猜你喜欢

转载自blog.csdn.net/xu622/article/details/78988708
今日推荐