lnamt部署

lnamt部署

在这里插入图片描述

环境3台机

第一台 192.168.159.141 配置nginx负载

第二台 192.168.159.147 lamt

第三台 192.168.159.139 lnmt

lamt的搭建

部署tomcot

java环境安装
安装jdk环境
[root@node1 ~]# yum -y install java-11-openjdk*

查看安装的版本
[root@node1 ~]# java -version
openjdk version "11.0.22" 2024-01-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.22.0.7-1) (build 11.0.22+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.22.0.7-1) (build 11.0.22+7-LTS, mixed mode, sharing)

上官网下载tomcat
[root@node1 ~]# wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz
--2024-02-26 14:57:05--  https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz
Resolving archive.apache.org (archive.apache.org)... 65.108.204.189, 2a01:4f9:1a:a084::2
Connecting to archive.apache.org (archive.apache.org)|65.108.204.189|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12718453 (12M) [application/x-gzip]
Saving to: ‘apache-tomcat-10.1.19.tar.gz’

apache-tomcat-10.1.19. 100%[===========================>]  12.13M  1.14MB/s    in 13s     

2024-02-26 14:57:19 (986 KB/s) - ‘apache-tomcat-10.1.19.tar.gz’ saved [12718453/12718453]

解压部署
[root@node1 ~]# ls
anaconda-ks.cfg  apache-tomcat-10.1.19.tar.gz
[root@node1 ~]# tar xf apache-tomcat-10.1.19.tar.gz -C /usr/local/
[root@node1 ~]# cd /usr/local/
[root@node1 local]# ls
apache-tomcat-10.1.19  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@node1 local]# ln -s /usr/local/apache-tomcat-10.1.19 /usr/local/tomcat
[root@node1 local]# ll
total 4
drwxr-xr-x. 9 root root 4096 Feb 26 14:59 apache-tomcat-10.1.19
drwxr-xr-x. 2 root root    6 May 16  2022 bin
drwxr-xr-x. 2 root root    6 May 16  2022 etc
drwxr-xr-x. 2 root root    6 May 16  2022 games
drwxr-xr-x. 2 root root    6 May 16  2022 include
drwxr-xr-x. 2 root root    6 May 16  2022 lib
drwxr-xr-x. 3 root root   17 Dec 12 19:26 lib64
drwxr-xr-x. 2 root root    6 May 16  2022 libexec
drwxr-xr-x. 2 root root    6 May 16  2022 sbin
drwxr-xr-x. 5 root root   49 Dec 12 19:26 share
drwxr-xr-x. 2 root root    6 May 16  2022 src
lrwxrwxrwx. 1 root root   32 Feb 26 15:00 tomcat -> /usr/local/apache-tomcat-10.1.19

启动tomcat
[root@node1 ~]# ls /usr/local/tomcat/
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@node1 ~]# ls /usr/local/tomcat/bin
bootstrap.jar                 configtest.bat  migrate.sh        tomcat-native.tar.gz
catalina.bat                  configtest.sh   setclasspath.bat  tool-wrapper.bat
catalina.sh                   daemon.sh       setclasspath.sh   tool-wrapper.sh
catalina-tasks.xml            digest.bat      shutdown.bat      version.bat
ciphers.bat                   digest.sh       shutdown.sh       version.sh
ciphers.sh                    makebase.bat    startup.bat
commons-daemon.jar            makebase.sh     startup.sh
commons-daemon-native.tar.gz  migrate.bat     tomcat-juli.jar
[root@node1 ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@node1 ~]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8080                  *:*               

停止tomcat
[root@node1 ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@node1 ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*                 

在浏览器访问

在这里插入图片描述

写一个hello world的java页面

[root@node1 ~]# cd /usr/local/tomcat/webapps/
[root@node1 webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@node1 webapps]# mkdir test
[root@node1 webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@node1 webapps]# cd test/
[root@node1 test]# vim index.jsp
[root@node1 test]# cat index.jsp 
<html>
<head>
        <title>test page</title>
</head>
<body>
	<%
            out.println("Hello World");
	%>
%</body>
%</html>

[root@node1 test]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@node1 test]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8080                  *:*               

浏览器访问

在这里插入图片描述

设置开机自启

[root@node1 ~]# cd /usr/lib/systemd/system
[root@node1 system]# cp sshd.service tomcat10.service
[root@node1 system]# vim tomcat10.service 
[root@node1 system]# cat tomcat10.service 
[Unit]
Description=tomcat server daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecStop=/usr/local/tomcat/bin/catalina.sh stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@node1 system]# cd
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl status tomcat10
○ tomcat10.service - tomcat server daemon
     Loaded: loaded (/usr/lib/systemd/system/tomcat10.service; disabled; preset: disabled)
     Active: inactive (dead)
[root@node1 ~]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8080                  *:*                
[root@node1 ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@node1 ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*                  
[root@node1 ~]# ps -ef|grep tomcat
root       17171   15187  0 15:25 pts/0    00:00:00 grep --color=auto tomcat
[root@node1 ~]# systemctl enable --now tomcat10
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat10.service → /usr/lib/systemd/system/tomcat10.service.
[root@node1 ~]# systemctl status tomcat10
● tomcat10.service - tomcat server daemon
     Loaded: loaded (/usr/lib/systemd/system/tomcat10.service; enabled; preset: disabled)
     Active: active (running) since Mon 2024-02-26 15:26:24 CST; 19s ago
    Process: 17196 ExecStart=/usr/local/tomcat/bin/catalina.sh start (code=exited, status=>
   Main PID: 17208 (java)
      Tasks: 34 (limit: 22879)
     Memory: 98.5M
        CPU: 4.591s
     CGroup: /system.slice/tomcat10.service
             └─17208 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/>

Feb 26 15:26:24 node1 systemd[1]: Starting tomcat server daemon...
Feb 26 15:26:24 node1 catalina.sh[17196]: Tomcat started.
Feb 26 15:26:24 node1 systemd[1]: Started tomcat server daemon.
[root@node1 ~]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8080                  *:*                
[root@node1 ~]# ps -ef|grep tomcat
root       17208       1 13 15:26 ?        00:00:04 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       17247   15187  0 15:26 pts/0    00:00:00 grep --color=auto tomcat

安装httpd

去apache官网下载和安装apr和apr-util以及httpd
[root@cjy ~]# wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz
[root@cjy ~]# wget https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz
[root@cjy ~]# wget https://downloads.apache.org/httpd/httpd-2.4.58.tar.gz


创建apache服务的用户和组
[root@cjy ~]# useradd -r -M -s /sbin/nologin apache

安装依赖包
[root@cjy ~]# yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make

解压安装包
[root@cjy ~]# ls
anaconda-ks.cfg  apr-1.7.4.tar.gz  apr-util-1.6.3.tar.gz  httpd-2.4.58.tar.gz
[root@cjy ~]# tar xf apr-1.7.4.tar.gz 
[root@cjy ~]# tar xf apr-util-1.6.3.tar.gz 
[root@cjy ~]# tar xf httpd-2.4.58.tar.gz 
[root@cjy ~]# ls
anaconda-ks.cfg  apr-1.7.4.tar.gz  apr-util-1.6.3.tar.gz  httpd-2.4.58.tar.gz
apr-1.7.4        apr-util-1.6.3    httpd-2.4.58
[root@cjy ~]# cd apr-1.7.4
[root@cjy apr-1.7.4]# ls
apr-config.in  build.conf        dso         libapr.rc     NOTICE         support
apr.dep        buildconf         emacs-mode  LICENSE       NWGNUmakefile  tables
apr.dsp        build-outputs.mk  encoding    locks         passwd         test
apr.dsw        CHANGES           file_io     Makefile.in   poll           threadproc
apr.mak        CMakeLists.txt    helpers     Makefile.win  random         time
apr.pc.in      config.layout     include     memory        README         tools
apr.spec       configure         libapr.dep  misc          README.cmake   user
atomic         configure.in      libapr.dsp  mmap          shmem
build          docs              libapr.mak  network_io    strings
[root@cjy apr-1.7.4]# vim configure

    cfgfile="${ofile}T"
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    # $RM "$cfgfile"        //将此行加上注释,或者删除此行

[root@cjy apr-1.7.4]# ./configure --prefix=/usr/local/apr
配置过程略...
[root@cjy apr-1.7.4]# make && make install
编译安装过程略...

[root@cjy apr-1.7.4]# cd ../apr-util-1.6.3
[root@cjy apr-util-1.6.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
配置过程略...
[root@cjy apr-util-1.6.3]# make && make install
编译安装过程略...

编译安装httpd
[root@cjy apr-util-1.6.3]# cd ../httpd-2.4.58
[root@cjy httpd-2.4.58]# ls
ABOUT_APACHE     CHANGES          httpd.mak       Makefile.in       ROADMAP
acinclude.m4     changes-entries  httpd.spec      Makefile.win      server
Apache-apr2.dsw  CMakeLists.txt   include         modules           srclib
Apache.dsw       config.layout    INSTALL         NOTICE            support
apache_probes.d  configure        InstallBin.dsp  NWGNUmakefile     test
ap.d             configure.in     LAYOUT          os                VERSIONING
build            docs             libhttpd.dep    README
BuildAll.dsp     emacs-style      libhttpd.dsp    README.CHANGES
BuildBin.dsp     httpd.dep        libhttpd.mak    README.cmake
buildconf        httpd.dsp        LICENSE         README.platforms
[root@cjy httpd-2.4.58]# ./configure --prefix=/usr/local/apache \
 --enable-so \
 --enable-ssl \
 --enable-cgi \
 --enable-rewrite \
 --with-zlib \
 --with-pcre \
 --with-apr=/usr/local/apr \
 --with-apr-util=/usr/local/apr-util/ \
 --enable-modules=most \
 --enable-mpms-shared=all \
 --with-mpm=prefork

[root@cjy httpd-2.4.38]# make && make install
编译安装过程略...

安装后配置
[root@cjy ~]# ls /usr/local/apache/
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
[root@cjy ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh

[root@cjy ~]# ln -s /usr/local/apache/include /usr/include/apache
[root@cjy ~]# vim /etc/man_db.conf 
增加这条内容
MANDATORY_MANPATH                       /usr/local/apache/man
[root@cjy ~]# source /etc/profile.d/httpd.sh
[root@cjy ~]# vim /usr/local/apache/conf/httpd.conf 
取消下面ServerName这行前面的注释
ServerName www.example.com:80

关闭防火墙启动apache
[root@cjy ~]# systemctl disable --now firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[root@cjy ~]# setenforce 0
[root@cjy ~]# vim /etc/selinux/config 
将enforcing改成disabled
[root@cjy ~]# apachectl start
[root@cjy ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         511                      *:80                     *:*                  
LISTEN    0         128                   [::]:22                  [::]:*           

发现可以访问了

在这里插入图片描述

再设置开机自启

[root@cjy ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/httpd.service
[root@cjy ~]# vim /usr/lib/systemd/system/httpd.service 
[root@cjy ~]# cat /usr/lib/systemd/system/httpd.service
[Unit]
Description=httpd server daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/apache/bin/apachectl start
ExecStop=/usr/local/apache/bin/apachectl stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@cjy ~]# systemctl daemon-reload
[root@cjy ~]# systemctl status httpd
○ httpd.service - httpd server daemon
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: disabled)
     Active: inactive (dead)
[root@cjy ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@cjy ~]# systemctl status httpd
○ httpd.service - httpd server daemon
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
     Active: inactive (dead) since Mon 2023-12-11 15:39:01 CST; 11s ago
    Process: 62554 ExecStart=/usr/local/apache/bin/apachectl start (code=exited, status=0/>
    Process: 62557 ExecStop=/usr/local/apache/bin/apachectl stop (code=exited, status=0/SU>
        CPU: 21ms

安装mysql

先去官网下载mariadb-devel
[root@cjy ~]# yum -y install https://mirror.stream.centos.org/9-stream/CRB/x86_64/os/Packages/mariadb-devel-10.5.16-2.el9.x86_64.rpm

安装依赖包
[root@cjy ~]# yum -y install ncurses-devel openssl-devel openssl cmake 

创建用户和组
[root@cjy ~]# useradd -r -M -s /sbin/nologin mysql

去官网下载二进制格式的mysql软件包
[root@cjy ~]# wget https://downloads.mysql.com/archives/get/file/mysql-8.0.35-linux-glibc2.28-x86_64.tar
[root@cjy ~]# ls
anaconda-ks.cfg   apr-util-1.6.3         httpd-2.4.58.tar.gz
apr-1.7.4         apr-util-1.6.3.tar.gz  mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz
apr-1.7.4.tar.gz  httpd-2.4.58

解压软件至/usr/local/
[root@cjy ~]# ls
anaconda-ks.cfg   apr-util-1.6.3         httpd-2.4.58.tar.gz
apr-1.7.4         apr-util-1.6.3.tar.gz  mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz
apr-1.7.4.tar.gz  httpd-2.4.58
[root@cjy ~]# tar xf mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz -C /usr/local/
[root@cjy ~]# cd /usr/local/
[root@cjy local]# ls
apache  apr-util  etc    include  lib64    mysql-8.0.35-linux-glibc2.28-x86_64  share
apr     bin       games  lib      libexec  sbin                                 src
[root@cjy local]# mv mysql-8.0.35-linux-glibc2.28-x86_64 mysql
[root@cjy local]# ls
apache  apr-util  etc    include  lib64    mysql  share
apr     bin       games  lib      libexec  sbin   src

修改目录/usr/local/mysql的属主属组
[root@cjy local]# chown -R mysql.mysql mysql
[root@cjy local]# ll
total 0
drwxr-xr-x. 14 root  root  164 Dec 11 14:58 apache
drwxr-xr-x.  6 root  root   58 Dec 11 14:40 apr
drwxr-xr-x.  5 root  root   43 Dec 11 14:48 apr-util
drwxr-xr-x.  2 root  root    6 May 16  2022 bin
drwxr-xr-x.  2 root  root    6 May 16  2022 etc
drwxr-xr-x.  2 root  root    6 May 16  2022 games
drwxr-xr-x.  2 root  root    6 May 16  2022 include
drwxr-xr-x.  2 root  root    6 May 16  2022 lib
drwxr-xr-x.  3 root  root   17 Dec  4 15:58 lib64
drwxr-xr-x.  2 root  root    6 May 16  2022 libexec
drwxr-xr-x.  9 mysql mysql 129 Dec 11 15:52 mysql
drwxr-xr-x.  2 root  root    6 May 16  2022 sbin
drwxr-xr-x.  5 root  root   49 Dec  4 15:58 share
drwxr-xr-x.  2 root  root    6 May 16  2022 src

添加环境变量
[root@cjy ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@cjy ~]# source /etc/profile.d/mysql.sh

建立数据存放目录
[root@cjy ~]# mkdir /opt/data
[root@cjy ~]# chown -R mysql.mysql /opt/data

初始化数据库
[root@cjy ~]# mysqld --initialize --user mysql --datadir /opt/data
2023-12-11T07:59:19.785768Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.35) initializing of server in progress as process 67519
2023-12-11T07:59:19.799194Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-12-11T07:59:20.176444Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-12-11T07:59:22.428386Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: PF9:7yt,7u3-
[root@cjy ~]# echo 'PF9:7yt,7u3-' > pass
[root@cjy ~]# ls
anaconda-ks.cfg   apr-util-1.6.3         httpd-2.4.58.tar.gz
apr-1.7.4         apr-util-1.6.3.tar.gz  mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz
apr-1.7.4.tar.gz  httpd-2.4.58           pass


配置mysql,生成配置文件
[root@cjy ~]# vim /etc/my.cnf
[root@cjy ~]# cat /etc/my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

root@cjy ~]# ls /usr/local/mysql/
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@cjy ~]# ln -s /usr/local/mysql/include /usr/include/mysql
[root@cjy ~]# vim /etc/ld.so.conf.d/mysql.conf
[root@cjy ~]# cat /etc/ld.so.conf.d/mysql.conf 
/usr/local/mysql/lib
[root@cjy ~]# vim /etc/man_db.conf    
将下行内容加入
MANDATORY_MANPATH                       /usr/local/mysql/man

配置服务启动脚本
[root@cjy ~]# ls /usr/local/mysql/support-files/
mysqld_multi.server  mysql-log-rotate  mysql.server
[root@cjy ~]# vim /usr/local/mysql/support-files/mysql.server 
在basedir和datadir后面填写路径
basedir=/usr/local/mysql
datadir=/opt/data

启动mysql
[root@cjy ~]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.Logging to '/opt/data/cjy.err'.
 SUCCESS! 
[root@cjy ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*       

LISTEN    0         511                      *:80                     *:*           
LISTEN    0         70                       *:33060                  *:*                  
LISTEN    0         151                      *:3306                   *:*                 
设置开机自启
[root@cjy ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/mysqld.service
[root@cjy ~]# vim /usr/lib/systemd/system/mysqld.service 
[root@cjy ~]# cat /usr/lib/systemd/system/mysqld.service
[Unit]
Description=mysqld server daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@cjy ~]# systemctl daemon-reload
[root@cjy ~]# systemctl status mysqld
○ mysqld.service - mysqld server daemon
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; preset: disabled)
     Active: inactive (dead)
[root@cjy ~]# systemctl enable --now mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@cjy ~]# systemctl status mysqld
× mysqld.service - mysqld server daemon
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Mon 2023-12-11 16:22:02 CST; 6s ago
   Duration: 191ms
    Process: 67906 ExecStart=/usr/local/mysql/support-files/mysql.server start (code=exite>
   Main PID: 67919 (code=exited, status=1/FAILURE)
        CPU: 198ms

Dec 11 16:22:01 cjy systemd[1]: Starting mysqld server daemon...
Dec 11 16:22:01 cjy mysql.server[67906]: Starting MySQL SUCCESS!
Dec 11 16:22:01 cjy systemd[1]: Started mysqld server daemon.
Dec 11 16:22:02 cjy mysql.server[67919]: 2023-12-11T08:22:02.005090Z mysqld_safe A mysqld >
Dec 11 16:22:02 cjy systemd[1]: mysqld.service: Main process exited, code=exited, status=1>
Dec 11 16:22:02 cjy systemd[1]: mysqld.service: Failed with result 'exit-code'.

使用临时密码登录,修改密码
[root@cjy ~]# cat pass 
PF9:7yt,7u3-
[root@cjy ~]# mysql -uroot -p'PF9:7yt,7u3-'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.35

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> alter user root@'localhost' identified with mysql_native_password by 'Passw0rd@_';
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye
[root@cjy ~]# mysql -uroot -pPassw0rd@_
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.35 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye

在这里插入图片描述

lnmt的搭建

nginx的安装

安装编译工具
[root@localhost ~]# yum -y install gcc gcc-c++ make wget

下载包
[root@localhost ~]# wget https://nginx.org/download/nginx-1.24.0.tar.gz
--2024-01-15 15:17:26--  https://nginx.org/download/nginx-1.24.0.tar.gz
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172
Connecting to nginx.org (nginx.org)|52.58.199.22|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1112471 (1.1M) [application/octet-stream]
Saving to: ‘nginx-1.24.0.tar.gz’

nginx-1.24.0.tar.gz    100%[===========================>]   1.06M  15.7KB/s    in 2m 37s  

2024-01-15 15:20:05 (6.90 KB/s) - ‘nginx-1.24.0.tar.gz’ saved [1112471/1112471]

创建系统用户nginx
[root@localhost ~]# useradd -r -M -s /sbin/nologin nginx

安装依赖环境
[root@localhost ~]# yum -y install pcre-devel openssl openssl-devel gd-devel

创建日志存放目录
[root@localhost ~]# mkdir -p /var/log/nginx
[root@localhost ~]# chown -R nginx.nginx /var/log/nginx

编译安装
[root@localhost ~]# ls
anaconda-ks.cfg  nginx-1.24.0.tar.gz
[root@localhost ~]# tar xf nginx-1.24.0.tar.gz 
[root@localhost ~]# cd nginx-1.24.0
[root@localhost nginx-1.24.0]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
[root@localhost nginx-1.24.0]# ./configure \
 --prefix=/usr/local/nginx \
 --user=nginx \
 --group=nginx \
 --with-debug \
 --with-http_ssl_module \
 --with-http_realip_module \
 --with-http_image_filter_module \
 --with-http_gunzip_module \
 --with-http_gzip_static_module \
 --with-http_stub_status_module \
 --http-log-path=/var/log/nginx/access.log \
 --error-log-path=/var/log/nginx/error.log

..........................................
Configuration summary
  + using system PCRE2 library
  + using system OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/var/log/nginx/error.log"
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

[root@localhost nginx-1.24.0]# make
[root@localhost nginx-1.24.0]# make install

nginx安装后配置

配置环境变量
[root@localhost ~]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@localhost ~]# source /etc/profile.d/nginx.sh 
[root@localhost ~]# which nginx
/usr/local/nginx/sbin/nginx

启动nginx
[root@localhost ~]# nginx
[root@localhost ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         511                0.0.0.0:80               0.0.0.0:*                  
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*     

停止用nginx -s stop
[root@localhost ~]# nginx -s stop
[root@localhost ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*                  

设置一个开机自启
[root@localhost ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/nginx.service
[root@localhost ~]# vim /usr/lib/systemd/system/nginx.service 
[root@localhost ~]# cat /usr/lib/systemd/system/nginx.service 
[Unit]
Description=nginx server daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable --now nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[root@localhost ~]# systemctl status nginx
● nginx.service - nginx server daemon
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
     Active: active (running) since Mon 2024-01-15 15:40:29 CST; 15s ago
    Process: 38531 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
   Main PID: 38532 (nginx)
      Tasks: 2 (limit: 22879)
     Memory: 2.3M
        CPU: 9ms
     CGroup: /system.slice/nginx.service
             ├─38532 "nginx: master process /usr/local/nginx/sbin/nginx"
             └─38533 "nginx: worker process"

Jan 15 15:40:29 localhost.localdomain systemd[1]: Starting nginx server daemon...
Jan 15 15:40:29 localhost.localdomain systemd[1]: Started nginx server daemon.

在这里插入图片描述

mysql

先去官网下载mariadb-devel
[root@cjy ~]# yum -y install https://mirror.stream.centos.org/9-stream/CRB/x86_64/os/Packages/mariadb-devel-10.5.16-2.el9.x86_64.rpm

安装依赖包
[root@cjy ~]# yum -y install ncurses-devel openssl-devel openssl cmake 

创建用户和组
[root@cjy ~]# useradd -r -M -s /sbin/nologin mysql

去官网下载二进制格式的mysql软件包
[root@cjy ~]# wget https://downloads.mysql.com/archives/get/file/mysql-8.0.35-linux-glibc2.28-x86_64.tar
[root@cjy ~]# ls
anaconda-ks.cfg   apr-util-1.6.3         httpd-2.4.58.tar.gz
apr-1.7.4         apr-util-1.6.3.tar.gz  mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz
apr-1.7.4.tar.gz  httpd-2.4.58

解压软件至/usr/local/
[root@cjy ~]# ls
anaconda-ks.cfg   apr-util-1.6.3         httpd-2.4.58.tar.gz
apr-1.7.4         apr-util-1.6.3.tar.gz  mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz
apr-1.7.4.tar.gz  httpd-2.4.58
[root@cjy ~]# tar xf mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz -C /usr/local/
[root@cjy ~]# cd /usr/local/
[root@cjy local]# ls
apache  apr-util  etc    include  lib64    mysql-8.0.35-linux-glibc2.28-x86_64  share
apr     bin       games  lib      libexec  sbin                                 src
[root@cjy local]# mv mysql-8.0.35-linux-glibc2.28-x86_64 mysql
[root@cjy local]# ls
apache  apr-util  etc    include  lib64    mysql  share
apr     bin       games  lib      libexec  sbin   src

修改目录/usr/local/mysql的属主属组
[root@cjy local]# chown -R mysql.mysql mysql
[root@cjy local]# ll
total 0
drwxr-xr-x. 14 root  root  164 Dec 11 14:58 apache
drwxr-xr-x.  6 root  root   58 Dec 11 14:40 apr
drwxr-xr-x.  5 root  root   43 Dec 11 14:48 apr-util
drwxr-xr-x.  2 root  root    6 May 16  2022 bin
drwxr-xr-x.  2 root  root    6 May 16  2022 etc
drwxr-xr-x.  2 root  root    6 May 16  2022 games
drwxr-xr-x.  2 root  root    6 May 16  2022 include
drwxr-xr-x.  2 root  root    6 May 16  2022 lib
drwxr-xr-x.  3 root  root   17 Dec  4 15:58 lib64
drwxr-xr-x.  2 root  root    6 May 16  2022 libexec
drwxr-xr-x.  9 mysql mysql 129 Dec 11 15:52 mysql
drwxr-xr-x.  2 root  root    6 May 16  2022 sbin
drwxr-xr-x.  5 root  root   49 Dec  4 15:58 share
drwxr-xr-x.  2 root  root    6 May 16  2022 src

添加环境变量
[root@cjy ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@cjy ~]# source /etc/profile.d/mysql.sh

建立数据存放目录
[root@cjy ~]# mkdir /opt/data
[root@cjy ~]# chown -R mysql.mysql /opt/data

初始化数据库
[root@cjy ~]# mysqld --initialize --user mysql --datadir /opt/data
2024-1-15T05:59:19.785768Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.35) initializing of server in progress as process 67519
2024-1-15T05:59:19.799194Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-1-15T05:59:20.176444Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-1-15T05:59:22.428386Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: PF9:7yt,7u3-
[root@cjy ~]# echo 'PF9:7yt,7u3-' > pass
[root@cjy ~]# ls
anaconda-ks.cfg   apr-util-1.6.3         httpd-2.4.58.tar.gz
apr-1.7.4         apr-util-1.6.3.tar.gz  mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz
apr-1.7.4.tar.gz  httpd-2.4.58           pass


配置mysql,生成配置文件
[root@cjy ~]# vim /etc/my.cnf
[root@cjy ~]# cat /etc/my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

root@cjy ~]# ls /usr/local/mysql/
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@cjy ~]# ln -s /usr/local/mysql/include /usr/include/mysql
[root@cjy ~]# vim /etc/ld.so.conf.d/mysql.conf
[root@cjy ~]# cat /etc/ld.so.conf.d/mysql.conf 
/usr/local/mysql/lib
[root@cjy ~]# vim /etc/man_db.conf    
将下行内容加入
MANDATORY_MANPATH                       /usr/local/mysql/man

配置服务启动脚本
[root@cjy ~]# ls /usr/local/mysql/support-files/
mysqld_multi.server  mysql-log-rotate  mysql.server
[root@cjy ~]# vim /usr/local/mysql/support-files/mysql.server 
在basedir和datadir后面填写路径
basedir=/usr/local/mysql
datadir=/opt/data

启动mysql
[root@cjy ~]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.Logging to '/opt/data/cjy.err'.
 SUCCESS! 
[root@cjy ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*       

LISTEN    0         511                      *:80                     *:*           
LISTEN    0         70                       *:33060                  *:*                  
LISTEN    0         151                      *:3306                   *:*                 
设置开机自启
[root@cjy ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/mysqld.service
[root@cjy ~]# vim /usr/lib/systemd/system/mysqld.service 
[root@cjy ~]# cat /usr/lib/systemd/system/mysqld.service
[Unit]
Description=mysqld server daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@cjy ~]# systemctl daemon-reload
[root@cjy ~]# systemctl status mysqld
○ mysqld.service - mysqld server daemon
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; preset: disabled)
     Active: inactive (dead)
[root@cjy ~]# systemctl enable --now mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@cjy ~]# systemctl status mysqld
× mysqld.service - mysqld server daemon
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Mon 2024-1-15 18:10:29 CST; 6s ago
   Duration: 191ms
    Process: 67906 ExecStart=/usr/local/mysql/support-files/mysql.server start (code=exite>
   Main PID: 67919 (code=exited, status=1/FAILURE)
        CPU: 198ms

Jan 15 18:10:29 cjy systemd[1]: Starting mysqld server daemon...
Jan 15 18:10:29 cjy mysql.server[67906]: Starting MySQL SUCCESS!
Jan 15 18:10:29 cjy systemd[1]: Started mysqld server daemon.
Jan 15 18:10:29 cjy mysql.server[67919]: 2024-1-15T018:20:29.005090Z mysqld_safe A mysqld >
Jan 15 18:10:29 cjy systemd[1]: mysqld.service: Main process exited, code=exited, status=1>
Jan 15 18:10:29 cjy systemd[1]: mysqld.service: Failed with result 'exit-code'.

使用临时密码登录,修改密码
[root@cjy ~]# cat pass 
PF9:7yt,7u3-
[root@cjy ~]# mysql -uroot -p'PF9:7yt,7u3-'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.35

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> alter user root@'localhost' identified with mysql_native_password by 'Passw0rd@_';
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye
[root@cjy ~]# mysql -uroot -pPassw0rd@_
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.35 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye

部署tomcot

java环境安装
安装jdk环境
[root@node1 ~]# yum -y install java-11-openjdk*

查看安装的版本
[root@node1 ~]# java -version
openjdk version "11.0.22" 2024-01-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.22.0.7-1) (build 11.0.22+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.22.0.7-1) (build 11.0.22+7-LTS, mixed mode, sharing)

上官网下载tomcat
[root@node1 ~]# wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz
--2024-02-26 14:57:05--  https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz
Resolving archive.apache.org (archive.apache.org)... 65.108.204.189, 2a01:4f9:1a:a084::2
Connecting to archive.apache.org (archive.apache.org)|65.108.204.189|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12718453 (12M) [application/x-gzip]
Saving to: ‘apache-tomcat-10.1.19.tar.gz’

apache-tomcat-10.1.19. 100%[===========================>]  12.13M  1.14MB/s    in 13s     

2024-02-26 14:57:19 (986 KB/s) - ‘apache-tomcat-10.1.19.tar.gz’ saved [12718453/12718453]

解压部署
[root@node1 ~]# ls
anaconda-ks.cfg  apache-tomcat-10.1.19.tar.gz
[root@node1 ~]# tar xf apache-tomcat-10.1.19.tar.gz -C /usr/local/
[root@node1 ~]# cd /usr/local/
[root@node1 local]# ls
apache-tomcat-10.1.19  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@node1 local]# ln -s /usr/local/apache-tomcat-10.1.19 /usr/local/tomcat
[root@node1 local]# ll
total 4
drwxr-xr-x. 9 root root 4096 Feb 26 14:59 apache-tomcat-10.1.19
drwxr-xr-x. 2 root root    6 May 16  2022 bin
drwxr-xr-x. 2 root root    6 May 16  2022 etc
drwxr-xr-x. 2 root root    6 May 16  2022 games
drwxr-xr-x. 2 root root    6 May 16  2022 include
drwxr-xr-x. 2 root root    6 May 16  2022 lib
drwxr-xr-x. 3 root root   17 Dec 12 19:26 lib64
drwxr-xr-x. 2 root root    6 May 16  2022 libexec
drwxr-xr-x. 2 root root    6 May 16  2022 sbin
drwxr-xr-x. 5 root root   49 Dec 12 19:26 share
drwxr-xr-x. 2 root root    6 May 16  2022 src
lrwxrwxrwx. 1 root root   32 Feb 26 15:00 tomcat -> /usr/local/apache-tomcat-10.1.19

启动tomcat
[root@node1 ~]# ls /usr/local/tomcat/
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@node1 ~]# ls /usr/local/tomcat/bin
bootstrap.jar                 configtest.bat  migrate.sh        tomcat-native.tar.gz
catalina.bat                  configtest.sh   setclasspath.bat  tool-wrapper.bat
catalina.sh                   daemon.sh       setclasspath.sh   tool-wrapper.sh
catalina-tasks.xml            digest.bat      shutdown.bat      version.bat
ciphers.bat                   digest.sh       shutdown.sh       version.sh
ciphers.sh                    makebase.bat    startup.bat
commons-daemon.jar            makebase.sh     startup.sh
commons-daemon-native.tar.gz  migrate.bat     tomcat-juli.jar
[root@node1 ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@node1 ~]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8080                  *:*               

停止tomcat
[root@node1 ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@node1 ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*                 

更改tomcat端口号

[root@node2 ~]# cd /usr/local/tomcat/conf/
[root@node2 conf]# vim server.xml 
......
    <Connector port="8081" protocol="HTTP/1.1"    更改端口号为8081
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
......
[root@node2 conf]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@node2 conf]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@node2 conf]# ss -antl
State  Recv-Q Send-Q      Local Address:Port  Peer Address:Port Process 
LISTEN 0      4096            127.0.0.1:9000       0.0.0.0:*            
LISTEN 0      511               0.0.0.0:80         0.0.0.0:*            
LISTEN 0      128               0.0.0.0:22         0.0.0.0:*            
LISTEN 0      70                      *:33060            *:*            
LISTEN 0      1      [::ffff:127.0.0.1]:8005             *:*            
LISTEN 0      151                     *:3306             *:*            
LISTEN 0      100                     *:8081             *:*            
LISTEN 0      128                  [::]:22            [::]:*  

在浏览器访问

在这里插入图片描述
写一个hello world的java页面

[root@node1 ~]# cd /usr/local/tomcat/webapps/
[root@node1 webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@node1 webapps]# mkdir test
[root@node1 webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@node1 webapps]# cd test/
[root@node1 test]# vim index.jsp
[root@node1 test]# cat index.jsp 
<html>
<head>
        <title>test page</title>
</head>
<body>
	<%
            out.println("Hello World");
	%>
%</body>
%</html>

[root@node1 test]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@node1 test]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8081                  *:*               

浏览器访问

在这里插入图片描述

设置开机自启

[root@node1 ~]# cd /usr/lib/systemd/system
[root@node1 system]# cp sshd.service tomcat10.service
[root@node1 system]# vim tomcat10.service 
[root@node1 system]# cat tomcat10.service 
[Unit]
Description=tomcat server daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecStop=/usr/local/tomcat/bin/catalina.sh stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@node1 system]# cd
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl status tomcat10
○ tomcat10.service - tomcat server daemon
     Loaded: loaded (/usr/lib/systemd/system/tomcat10.service; disabled; preset: disabled)
     Active: inactive (dead)
[root@node1 ~]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8081                  *:*                
[root@node1 ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
[root@node1 ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*                  
[root@node1 ~]# ps -ef|grep tomcat
root       17171   15187  0 15:25 pts/0    00:00:00 grep --color=auto tomcat
[root@node1 ~]# systemctl enable --now tomcat10
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat10.service → /usr/lib/systemd/system/tomcat10.service.
[root@node1 ~]# systemctl status tomcat10
● tomcat10.service - tomcat server daemon
     Loaded: loaded (/usr/lib/systemd/system/tomcat10.service; enabled; preset: disabled)
     Active: active (running) since Mon 2024-02-26 15:26:24 CST; 19s ago
    Process: 17196 ExecStart=/usr/local/tomcat/bin/catalina.sh start (code=exited, status=>
   Main PID: 17208 (java)
      Tasks: 34 (limit: 22879)
     Memory: 98.5M
        CPU: 4.591s
     CGroup: /system.slice/tomcat10.service
             └─17208 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/>

Feb 26 15:26:24 node1 systemd[1]: Starting tomcat server daemon...
Feb 26 15:26:24 node1 catalina.sh[17196]: Tomcat started.
Feb 26 15:26:24 node1 systemd[1]: Started tomcat server daemon.
[root@node1 ~]# ss -antl
State    Recv-Q   Send-Q            Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                     0.0.0.0:22              0.0.0.0:*                
LISTEN   0        128                        [::]:22                 [::]:*                
LISTEN   0        1            [::ffff:127.0.0.1]:8005                  *:*                
LISTEN   0        100                           *:8080                  *:*                
[root@node1 ~]# ps -ef|grep tomcat
root       17208       1 13 15:26 ?        00:00:04 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       17247   15187  0 15:26 pts/0    00:00:00 grep --color=auto tomcat

再去第一台机配置nginx负载均衡

[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# ls
fastcgi.conf            koi-utf             nginx.conf           uwsgi_params
fastcgi.conf.default    koi-win             nginx.conf.default   uwsgi_params.default
fastcgi_params          mime.types          scgi_params          win-utf
fastcgi_params.default  mime.types.default  scgi_params.default
[root@localhost conf]# vim nginx.conf
    
    #gzip  on;

    upstream webs {
        server 192.168.159.147:8080;
        server 192.168.159.139:8081;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://webs;
        }

重启服务
[root@localhost ~]# systemctl restart nginx

浏览器去访问成功达到负载均衡的效果
(因为这里两个都是用的默认的测试页面所以负载均衡显示的内容一致)

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值