目录
此次实验是Tomcat后端服务器如何做Session ID会话保持

- [root@localhost ~]#systemctl stop firewalld
- [root@localhost ~]#setenforce 0
- setenforce: SELinux is disabled
- [root@localhost ~]#yum install epel-release.noarch -y
- #安装epel额外源
- [root@localhost ~]#yum install nginx -y
- #yum安装Nginx 作为代理服务器
- [root@localhost ~]#systemctl start nginx
- [root@localhost ~]#systemctl status nginx
- ● nginx.service - The nginx HTTP and reverse proxy server
- Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
- Active: active (running) since 六 2024-03-16 10:21:23 CST; 5s ago
- Process: 2055 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
- Process: 2051 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
- Process: 2049 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
- Main PID: 2058 (nginx)
- CGroup: /system.slice/nginx.service
- ├─2058 nginx: master process /usr/sbin/nginx
- ├─2059 nginx: worker process
- └─2060 nginx: worker process
-
- 3月 16 10:21:23 localhost.localdomain systemd[1]: Starting The nginx HTTP ...
- 3月 16 10:21:23 localhost.localdomain nginx[2051]: nginx: the configuratio...
- 3月 16 10:21:23 localhost.localdomain nginx[2051]: nginx: configuration fi...
- 3月 16 10:21:23 localhost.localdomain systemd[1]: Started The nginx HTTP a...
- Hint: Some lines were ellipsized, use -l to show in full.
- [root@node2 ~]#systemctl stop firewalld
- [root@node2 ~]#setenforce 0
- [root@node2 ~]#rz -E
- rz waiting to receive.
- [root@node2 ~]#rz -E
- rz waiting to receive.
- [root@node2 ~]#ls
- anaconda-ks.cfg Downloads Pictures
- apache-tomcat-9.0.16.tar.gz initial-setup-ks.cfg Public
- Desktop jdk-8u291-linux-x64.tar.gz Templates
- Documents Music Videos
- [root@node2 ~]#tar xf jdk-8u291-linux-x64.tar.gz -C /usr/local/
- [root@node2 ~]#cd /usr/local/
- [root@node2 local]#ls
- bin etc games include jdk1.8.0_291 lib lib64 libexec sbin share src
- [root@node2 local]#ln -s jdk1.8.0_291/ jdk
- [root@node2 local]#vim /etc/profile.d/jdk.sh
- [root@node2 local]#cat /etc/profile.d/jdk.sh
- export JAVA_HOME=/usr/local/jdk
- export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/
- export PATH=$JAVA_HOME/bin:$PATH
- export JRE_HOME=$JAVA_HOME/jre
- [root@node2 local]#. /etc/profile.d/jdk.sh
- [root@node2 local]#java -version
- java version "1.8.0_291"
- Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
- Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
- [root@node3 ~]#systemctl stop firewalld
- [root@node3 ~]#setenforce 0
- [root@node3 ~]#rz -E
- rz waiting to receive.
- [root@node3 ~]#rz -E
- rz waiting to receive.
- [root@node3 ~]#ls
- anaconda-ks.cfg jdk-8u291-linux-x64.tar.gz 视频 下载
- apache-tomcat-9.0.16.tar.gz 公共 图片 音乐
- initial-setup-ks.cfg 模板 文档 桌面
- [root@node3 ~]#tar xf jdk-8u291-linux-x64.tar.gz -C /usr/local/
- [root@node3 ~]#cd /usr/local/
- [root@node3 local]#ls
- bin etc games include jdk1.8.0_291 lib lib64 libexec sbin share src
- [root@node3 local]#ln -s jdk1.8.0_291/ jdk
- [root@node3 local]#vim /etc/profile.d/jdk.sh
- [root@node3 local]#cat /etc/profile.d/jdk.sh
- export JAVA_HOME=/usr/local/jdk
- export CLASSPATH=$JAVA_HOME/lib/:$JRE_HOME/lib/
- export PATH=$JAVA_HOME/bin:$PATH
- export JRE_HOME=$JAVA_HOME/jre
- [root@node3 local]#. /etc/profile.d/jdk.sh
- [root@node3 local]#java -version
- java version "1.8.0_291"
- Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
- Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
- [root@localhost ~]#vim /etc/nginx/nginx.conf
- [root@localhost ~]#sed -n '23,26p' /etc/nginx/nginx.conf
- upstream tomcat {
- server 192.168.241.22:8080;
- server 192.168.241.23:8080;
- }
- [root@localhost ~]#sed -n '50,52p' /etc/nginx/nginx.conf
- location ~* \.jsp$ {
- proxy_pass http://tomcat;
- }
- [root@localhost ~]#nginx -t
- nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
- nginx: configuration file /etc/nginx/nginx.conf test is successful
- [root@localhost ~]#nginx -s reload
- [root@node2 local]#cd
- [root@node2 ~]#ls
- anaconda-ks.cfg Downloads Pictures
- apache-tomcat-9.0.16.tar.gz initial-setup-ks.cfg Public
- Desktop jdk-8u291-linux-x64.tar.gz Templates
- Documents Music Videos
- [root@node2 ~]#tar xf apache-tomcat-9.0.16.tar.gz -C /usr/local/
- [root@node2 ~]#cd /usr/local/
- [root@node2 local]#ls
- apache-tomcat-9.0.16 etc include jdk1.8.0_291 lib64 sbin src
- bin games jdk lib libexec share
- [root@node2 local]#ln -s apache-tomcat-9.0.16/ tomcat
- [root@node2 local]#ls
- apache-tomcat-9.0.16 etc include jdk1.8.0_291 lib64 sbin src
- bin games jdk lib libexec share tomcat
- [root@node2 local]#cd tomcat/
- [root@node2 tomcat]#useradd -s /sbin/nologin tomcat
- [root@node2 tomcat]#chown tomcat:tomcat tomcat/ -R
- chown: cannot access ‘tomcat/’: No such file or directory
- [root@node2 tomcat]#chown tomcat:tomcat -R
- chown: missing operand after ‘tomcat:tomcat’
- Try 'chown --help' for more information.
- [root@node2 tomcat]#cd ..
- [root@node2 local]#chown tomcat:tomcat tomcat/ -R
- [root@node2 local]#cat > /usr/lib/systemd/system/tomcat.service <
- > [Unit]
- > Description=Tomcat
- > After=syslog.target network.target
- >
- > [Service]
- > Type=forking
- > ExecStart=/usr/local/tomcat/bin/startup.sh
- > ExecStop=/usr/local/tomcat/bin/shutdown.sh
- > RestartSec=3
- > PrivateTmp=true
- > User=tomcat
- > Group=tomcat
- >
- > [Install]
- > WantedBy=multi-user.target
- >
- > EOF
- [root@node2 local]#cd tomcat/webapps/ROOT/
- [root@node2 ROOT]#ls
- asf-logo-wide.svg bg-upper.png tomcat.css tomcat.svg
- bg-button.png favicon.ico tomcat.gif WEB-INF
- bg-middle.png index.jsp tomcat.png
- bg-nav.png RELEASE-NOTES.txt tomcat-power.gif
- [root@node2 ROOT]#mv index.jsp index.jsp.bak
- [root@node2 ROOT]#rz -E
- rz waiting to receive.
- [root@node2 ROOT]#ls
- asf-logo-wide.svg bg-upper.png RELEASE-NOTES.txt tomcat-power.gif
- bg-button.png favicon.ico tomcat.css tomcat.svg
- bg-middle.png index.jsp tomcat.gif WEB-INF
- bg-nav.png index.jsp.bak tomcat.png
- [root@node2 ROOT]#cat index.jsp
- <%@ page import="java.util.*" %>
- "en">
- <head>
- "UTF-8">
-
tomcat test - On <%=request.getServerName() %>
- <%=request.getLocalAddr() + ":" + request.getLocalPort() %>
- SessionID = "color:blue"><%=session.getId() %>
- <%=new Date()%>