-
Notifications
You must be signed in to change notification settings - Fork 1
Description
JDK
查看可安装 JDK
yum search java|grep jdk
Linux 发行版中用的多是 OpenJDK(关于 OpenJDK 与 Oracle JDK 的区别这里不再赘述)。
我们选择安装 OpenJDK1.8 即可:
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
java -version
Linux 上使用 yum 命令后,会将 OpenSDK 安装到 /usr/lib/jvm/ 目录下。
设置 JAVA-HOME,让系统上的所有用户使用 java(OpenSDK )
vi /etc/profile
在末尾添加:
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
JRE_HOME=$JAVA_HOME/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使配置文件生效:
source /etc/profile
验证环境变量是否生效:
echo $PATH
Tomcat
下载当前 Tomcat8 最新版的安装文件 apache-tomcat-8.0.27.tar.gz(https://tomcat.apache.org/download-80.cgi);
将 apache-tomcat-8.0.28.tar.gz 文件放到/usr/local 目录下,执行如下脚本:
cd /usr/local
tar -zxvf apache-tomcat-8.5.28.tar.gz 解压压缩包
rm -rf apache-tomcat-8.5.28.tar.gz 删除压缩包
mv apache-tomcat-8.5.28 tomcat 重命名
通过 systemctl 管理 tomcat:
1)首先,为 tomcat 增加一个 pid 文件
在 tomca/bin 目录下面,增加 setenv.sh 配置,catalina.sh 启动的时候会调用,同时配置 java 内存参数;
vi setenv.sh
#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"保存文件;
修改文件为可执行:
chmod a+x /usr/local/tomcat/bin/setenv.sh
2)增加 tomcat.service
在/usr/lib/systemd/system 目录下增加 tomcat.service,目录必须是绝对目录。
vi tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/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] 配置了使用用户。
执行systemctl daemon-reload,使 tomcat.service 生效
启动 tomcat:
systemctl start tomcat
开机启动:
systemctl enable tomcat
tomcat 启动时会在 tomcat 的根目录/usr/local/tomcat 下生成 pid 文件 tomcat.pid,停止后会删除,用 systemctl 管理 tomcat 不会出现同时启动多个 tomcat,这样可以保证始终只有一个 tomcat 在运行
访问http://ip:8080/,出现以下界面说明启动成功
但当我们点击红色框中按钮,进入管理时,提示无访问权限;
这时我们按提示,进入/usr/local/tomcat/conf,编辑 tomcat-users.xml,设置用户:
在<tomcat-users></tomcat-users>内部添加:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="用户名" password="密码" roles="manager-gui,admin-gui"/>另外远程登录 tomcat 管理界面权限,注释掉/usr/local/tomcat/webapps/manager/META-INF/context.xml 和/usr/local/tomcat/webapps/host-manager/META-INF/context.xml 中:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
再次使用刚设置的账号密码登陆即可成功登录 tomcat 管理系统。





