部署LNNMT与LNAMT服务

LNAMT

系统IP服务
Rocky-9.3192.168.117.10Nginx负载均衡
Rocky-9.3192.168.117.11LNMT
Rocky-9.3192.168.117.12LAMT

LAMT

从apache网站上安装apr-1.7.4.tar.gz,apr-util-1.6.3.tar.gz,httpd-2.4.58.tar.gz
[root@localhost ~]# yum -y install wget
[root@localhost ~]# wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz
[root@localhost ~]# wget https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz
创建apache用户

[root@localhost ~]# useradd -r -M -s /sbin/nologin apache

安装必要软件包

[root@localhost ~]# yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make 

解压下载的软件包

[root@localhost ~]# ls
anaconda-ks.cfg        Desktop    httpd-2.4.58.tar.gz  Public
apr-1.7.4.tar.gz       Documents  Music                Templates
apr-util-1.6.3.tar.gz  Downloads  Pictures             Videos
[root@localhost ~]# tar xf apr-1.7.4.tar.gz 
[root@localhost ~]# tar xf apr-util-1.6.3.tar.gz 
[root@localhost ~]# tar xf httpd-2.4.58.tar.gz 


编辑apr文件

[root@localhost ~]# cd apr-1.7.4/
[root@localhost apr-1.7.4]# vim configure
    cfgfile=${ofile}T
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    $RM "$cfgfile"   去掉此行或者注释

配置编译环境,并编译

[root@localhost apr-1.7.4]# ./configure --prefix=/usr/local/apr  //编译apr
[root@localhost apr-1.7.4]# make
[root@localhost apr-1.7.4]# make install
[root@localhost apr-util-1.6.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr       //编译apr-util
[root@localhost apr-util-1.6.3]# make
[root@localhost apr-util-1.6.3]# make install
[root@localhost 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                          //编译apache
[root@localhost httpd-2.4.58]# make
[root@localhost httpd-2.4.58]# make install
[root@localhost httpd-2.4.58]# ls /usr/local
apache  apr-util  etc    include  lib64    sbin   src
apr     bin       games  lib      libexec  share     //显示有apache,apr,apr-util就是成功了

配置环境变量

[root@localhost httpd-2.4.58]# ls /usr/local/apache/
bin    cgi-bin  error   icons    logs  manual
build  conf     htdocs  include  man   modules
[root@localhost httpd-2.4.58]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh    //配置环境变量
[root@localhost httpd-2.4.58]# ln -s /usr/local/apache/include /usr/include/httpd  //将include文件做软连接
[root@localhost httpd-2.4.58]# vim /etc/man_db.conf    //编写帮助文档,让系统找到apache在哪
MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/man
MANDATORY_MANPATH                       /usr/local/apache/man
[root@localhost httpd-2.4.58]# source /etc/profile.d/httpd.sh   //使文件生效

启动apache
[root@localhost httpd-2.4.58]# apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@localhost httpd-2.4.58]# ss -antl
State    Recv-Q   Send-Q     Local Address:Port       Peer Address:Port   Process   
LISTEN   0        4096           127.0.0.1:631             0.0.0.0:*                
LISTEN   0        128              0.0.0.0:22              0.0.0.0:*                
LISTEN   0        511                    *:80                    *:*                
LISTEN   0        128                 [::]:22                 [::]:*                
LISTEN   0        4096               [::1]:631                [::]:*                

开机自启
[root@localhost httpd-2.4.58]# apachectl stop
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@localhost httpd-2.4.58]# vim /usr/local/apache/conf/httpd.conf 
ServerName www.example.com:80  //去掉此行注释符
[root@localhost ~]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/httpd.service
[root@localhost ~]# vim /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@localhost ~]# systemctl daemon-reload    //新加载
[root@localhost ~]# systemctl enable --now httpd  //设置开机自启动并立刻启动
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl status httpd  //查看httpd状态
● httpd.service - httpd server daemon
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabl>
     Active: active (running) since Mon 2023-12-11 15:49:52 CST; 20s ago
    Process: 51234 ExecStart=/usr/local/apache/bin/apachectl start (code=exited, st>
   Main PID: 51237 (httpd)
      Tasks: 6 (limit: 11913)
     Memory: 5.3M
        CPU: 93ms
     CGroup: /system.slice/httpd.service
             ├─51237 /usr/local/apache/bin/httpd -k start
             ├─51238 /usr/local/apache/bin/httpd -k start
             ├─51239 /usr/local/apache/bin/httpd -k start
             ├─51240 /usr/local/apache/bin/httpd -k start
             ├─51241 /usr/local/apache/bin/httpd -k start
             └─51242 /usr/local/apache/bin/httpd -k start

Dec 11 15:49:52 localhost.localdomain systemd[1]: Starting httpd server daemon...
Dec 11 15:49:52 localhost.localdomain systemd[1]: Started httpd server daemon.
lines 1-18/18 (END)

安装MYSQL

[root@localhost ~]# yum -y install epel-release  //安装一个通用的源
[root@localhost ~]# 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  //从网上下载的软件包
Warning: failed loading '/etc/yum.repos.d/xhx.repo', skipping.
Extra Packages for Enterprise Linux 9 - x86_64      5.3 MB/s |  20 MB     00:03    
Extra Packages for Enterprise Linux 9 openh264 (Fro 877  B/s | 2.5 kB     00:02    
mariadb-devel-10.5.16-2.el9.x86_64.rpm              192 kB/s | 1.1 MB     00:05    
Dependencies resolved.
====================================================================================
 Package                       Arch      Version              Repository       Size
====================================================================================
Installing:
 mariadb-devel                 x86_64    3:10.5.16-2.el9      @commandline    1.1 M
Installing dependencies:
 mariadb-connector-c           x86_64    3.2.6-1.el9_0        appstream       195 k
 mariadb-connector-c-config    noarch    3.2.6-1.el9_0        appstream       9.8 k
 mariadb-connector-c-devel     x86_64    3.2.6-1.el9_0        appstream        55 k

Transaction Summary
====================================================================================
Install  4 Packages

Total size: 1.3 M
Total download size: 260 k
Installed size: 6.0 M
Downloading Packages:
(1/3): mariadb-connector-c-config-3.2.6-1.el9_0.noa  93 kB/s | 9.8 kB     00:00    
(2/3): mariadb-connector-c-devel-3.2.6-1.el9_0.x86_ 274 kB/s |  55 kB     00:00    
(3/3): mariadb-connector-c-3.2.6-1.el9_0.x86_64.rpm 767 kB/s | 195 kB     00:00    
------------------------------------------------------------------------------------
Total                                               157 kB/s | 260 kB     00:01     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                            1/1 
  Installing       : mariadb-connector-c-config-3.2.6-1.el9_0.noarch            1/4 
  Installing       : mariadb-connector-c-3.2.6-1.el9_0.x86_64                   2/4 
  Installing       : mariadb-connector-c-devel-3.2.6-1.el9_0.x86_64             3/4 
  Installing       : mariadb-devel-3:10.5.16-2.el9.x86_64                       4/4 
  Running scriptlet: mariadb-devel-3:10.5.16-2.el9.x86_64                       4/4 
  Verifying        : mariadb-connector-c-devel-3.2.6-1.el9_0.x86_64             1/4 
  Verifying        : mariadb-connector-c-3.2.6-1.el9_0.x86_64                   2/4 
  Verifying        : mariadb-connector-c-config-3.2.6-1.el9_0.noarch            3/4 
  Verifying        : mariadb-devel-3:10.5.16-2.el9.x86_64                       4/4 

Installed:
  mariadb-connector-c-3.2.6-1.el9_0.x86_64                                          
  mariadb-connector-c-config-3.2.6-1.el9_0.noarch                                   
  mariadb-connector-c-devel-3.2.6-1.el9_0.x86_64                                    
  mariadb-devel-3:10.5.16-2.el9.x86_64                                              

Complete!
[root@localhost ~]# yum -y install ncurses-devel openssl-devel openssl cmake 继续下载所需的软件包


解压软件包

[root@localhost ~]# useradd -r -M -s /sbin/nologin mysql   //创建mysql系统用户
[root@localhost ~]# tar xf mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz -C /usr/local //解压软件包
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv mysql-8.0.35-linux-glibc2.28-x86_64/ mysql  //更改名字
[root@localhost local]# chown -R mysql.mysql mysql   //设置mysql的所属组与所属者
[root@localhost local]# ll
total 0
drwxr-xr-x. 14 root  root  164 Dec 11 15:25 apache
drwxr-xr-x.  6 root  root   58 Dec 11 15:06 apr
drwxr-xr-x.  5 root  root   43 Dec 11 15:13 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 18:09 lib64
drwxr-xr-x.  2 root  root    6 May 16  2022 libexec
drwxr-xr-x.  9 mysql mysql 129 Dec 11 16:29 mysql
drwxr-xr-x.  2 root  root    6 May 16  2022 sbin
drwxr-xr-x.  5 root  root   49 Dec  4 18:09 share
drwxr-xr-x.  2 root  root    6 May 16  2022 src

配置环境变量

[root@localhost local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh   //配置环境变量
[root@localhost local]# source /etc/profile.d/mysql.sh   //使配置生效
[root@localhost local]# mkdir /opt/data   //创建mysql数据目录
[root@localhost local]# chown -R mysql.mysql /opt/data   //更改data的所属组与所属者

初始化

[root@localhost local]# mysqld --initialize --user mysql --datadir /opt/data
2023-12-11T08:39:18.653499Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.35) initializing of server in progress as process 55107
2023-12-11T08:39:18.720906Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-12-11T08:39:19.416218Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-12-11T08:39:25.518004Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jSiaD.OIV1rh     //jSiaD.OIV1rh 为mysql一次性密码 需保存

编辑配置文件
[root@localhost local]# vim /etc/my.cnf   //编辑配置文件
[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
[root@localhost local]# ls /usr/local/mysql/
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost local]# ln -s /usr/local/mysql/include/ /usr/include/mysql  //做软连接
[root@localhost local]# vim /etc/ld.so.conf.d/mysql.conf   //让系统找到库文件
/usr/local/mysql/lib
[root@localhost local]# ldconfig -v   //测试能不能找到库文件
/usr/local/mysql/lib: (from /etc/ld.so.conf.d/mysql.conf:1)
        libmysqlclient.so.21 -> libmysqlclient.so.21.2.35  //能找到就可以了

编写帮助文档

[root@localhost local]# ls /usr/local/mysql/
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost local]# vim /etc/man_db.conf 
MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/man
MANDATORY_MANPATH                       /usr/local/apache/man
MANDATORY_MANPATH                       /usr/local/mysql/man
[root@localhost local]# vim /usr/local/mysql/support-files/mysql.server  //编写脚本文件
basedir=/usr/local/mysql
datadir=/opt/data
[root@localhost local]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.Logging to '/opt/data/localhost.localdomain.err'.
.. SUCCESS! 


编写mysql配置文件

[root@localhost local]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/mysqld.service  //复制配置文件
[root@localhost local]# vim /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@localhost ~]# systemctl daemon-reload  //刷新配置文件
[root@localhost ~]# systemctl enable --now mysqld  //设置开机自启并立刻启动服务
[root@localhost ~]# systemctl status mysqld
● mysqld.service - mysqld server daemon
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disable>
     Active: active (running) since Mon 2023-12-11 17:08:42 CST; 1min 18s ago
    Process: 958 ExecStart=/usr/local/mysql/support-files/mysql.server start (code=ex>
   Main PID: 1007 (mysqld_safe)
      Tasks: 38 (limit: 11913)
     Memory: 446.2M
        CPU: 3.214s
     CGroup: /system.slice/mysqld.service
             ├─1007 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data --pi>
             └─1292 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=>

Dec 11 17:08:37 localhost.localdomain systemd[1]: Starting mysqld server daemon...
Dec 11 17:08:42 localhost.localdomain mysql.server[958]: Starting MySQL.... SUCCESS!
Dec 11 17:08:42 localhost.localdomain systemd[1]: Started mysqld server daemon.

更改mysql密码

[root@localhost ~]# mysql -uroot -p'jSiaD.OIV1rh'   //使用一次性密码进入
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 8
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
配置tomcat
[root@localhost ~]# yum -y install java-11-openjdk*
[root@localhost ~]# yum search jdk
Last metadata expiration check: 2:11:09 ago on Mon 26 Feb 2024 05:00:07 PM CST.
============================= Name & Summary Matched: jdk ==============================
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.8.0-openjdk.x86_64 : OpenJDK 8 Runtime Environment
java-1.8.0-openjdk-demo.x86_64 : OpenJDK 8 Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK 8 Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK 8 Headless Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in a
                                      : single archive
java-1.8.0-openjdk-src.x86_64 : OpenJDK 8 Source Bundle
java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environment
java-11-openjdk-demo.x86_64 : OpenJDK 11 Demos
java-11-openjdk-devel.x86_64 : OpenJDK 11 Development Environment
java-11-openjdk-headless.x86_64 : OpenJDK 11 Headless Runtime Environment
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single
                                   : archive
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK 11 Source Bundle
java-11-openjdk-static-libs.x86_64 : OpenJDK 11 libraries for static linking
java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment
java-17-openjdk-demo.x86_64 : OpenJDK 17 Demos
java-17-openjdk-devel.x86_64 : OpenJDK 17 Development Environment
java-17-openjdk-headless.x86_64 : OpenJDK 17 Headless Runtime Environment
java-17-openjdk-javadoc.x86_64 : OpenJDK 17 API documentation
java-17-openjdk-javadoc-zip.x86_64 : OpenJDK 17 API documentation compressed in a single
                                   : archive
java-17-openjdk-jmods.x86_64 : JMods for OpenJDK 17
java-17-openjdk-src.x86_64 : OpenJDK 17 Source Bundle
java-17-openjdk-static-libs.x86_64 : OpenJDK 17 libraries for static linking
java-21-openjdk.x86_64 : OpenJDK 21 Runtime Environment
java-21-openjdk-demo.x86_64 : OpenJDK 21 Demos
java-21-openjdk-devel.x86_64 : OpenJDK 21 Development Environment
java-21-openjdk-headless.x86_64 : OpenJDK 21 Headless Runtime Environment
java-21-openjdk-javadoc.x86_64 : OpenJDK 21 API documentation
java-21-openjdk-javadoc-zip.x86_64 : OpenJDK 21 API documentation compressed in a single
                                   : archive
java-21-openjdk-jmods.x86_64 : JMods for OpenJDK 21
java-21-openjdk-src.x86_64 : OpenJDK 21 Source Bundle
java-21-openjdk-static-libs.x86_64 : OpenJDK 21 libraries for static linking
maven-openjdk11.noarch : OpenJDK 11 binding for Maven
maven-openjdk17.noarch : OpenJDK 17 binding for Maven
maven-openjdk8.noarch : OpenJDK 8 binding for Maven
slf4j-jdk14.noarch : SLF4J JDK14 Binding
================================== Name Matched: jdk ===================================
idm-ldapjdk.noarch : LDAP SDK
[root@localhost ~]# wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz
--2024-02-26 17:50:50--  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   440KB/s    in 30s     

2024-02-26 17:51:22 (414 KB/s) - ‘apache-tomcat-10.1.19.tar.gz’ saved [12718453/12718453]

[root@localhost ~]# ls
a1  anaconda-ks.cfg               Documents  Pictures   Videos
a2  apache-tomcat-10.1.19.tar.gz  Downloads  Public
a3  Desktop                       Music      Templates
[root@localhost ~]# tar xf apache-tomcat-10.1.19.tar.gz -C /usr/local/
[root@localhost ~]# ln -s /usr/local/apache-tomcat-10.1.19/ /usr/local/tomcat
[root@localhost ~]#  ls /usr/local/
apache-tomcat-10.1.19  etc    include  lib64    mysql  sbin   src
bin                    games  lib      libexec  nginx  share  tomcat
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# mkdir test
[root@localhost webapps]# vim test/index.jsp
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
             out.println("Hello worldw");
        %>
</body>
</html>
[root@localhost 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@localhost conf]#  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         4096             127.0.0.1:631              0.0.0.0:*                
LISTEN   0         70                       *:33060                  *:*                
LISTEN   0         4096                 [::1]:631                 [::]:*                
LISTEN   0         151                      *:3306                   *:*                
LISTEN   0         128                   [::]:22                  [::]:*                
LISTEN   0         511                      *:80                     *:*                
LISTEN   0         100                      *:8080                   *:*                
[root@localhost conf]#  ps -ef | grep tomcat
root       69603       1 59 19:21 pts/2    00:00:12 /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       69633    2915  0 19:21 pts/2    00:00:00 grep --color=auto tomcat

访问192.168.117.12:8080

LNMT

配置nginx
创建系统用户
[root@localhost ~]#: useradd -r -M -s /sbin/nologin nginx
[root@localhost ~]#: id nginx
uid=991(nginx) gid=991(nginx) groups=991(nginx)

安装编译工具
[root@localhost ~]#: yum -y install make gcc gcc-c++ pcre-devel openssl openssl-devel gd-devel

创建nginx系统用户
[root@localhost ~]#: mkdir -p /var/log/nginx
[root@localhost ~]#: chown -R nginx.nginx /var/log/nginx

下载与解压nginx
[root@localhost ~]#: wget https://nginx.org/download/nginx-1.24.0.tar.gz
[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]#: ./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
[root@localhost ~]#: make && make install

配置环境变量
[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        128              0.0.0.0:22            0.0.0.0:*              
LISTEN  0        4096           127.0.0.1:631           0.0.0.0:*              
LISTEN  0        511              0.0.0.0:80            0.0.0.0:*              
LISTEN  0        4096               [::1]:631              [::]:*              
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

[Unit]
Description=nginx server daemon
After=network.target sshd-keygen.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 ~]#: nginx -s stop
[root@localhost ~]#: systemctl enable --now nginx.service
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[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        4096           127.0.0.1:631           0.0.0.0:*              
LISTEN  0        511              0.0.0.0:80            0.0.0.0:*              
LISTEN  0        4096               [::1]:631              [::]:*              
LISTEN  0        128                 [::]:22               [::]:*      

安装MYSQL

[root@localhost ~]# yum -y install epel-release  //安装一个通用的源
[root@localhost ~]# 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  //从网上下载的软件包
Warning: failed loading '/etc/yum.repos.d/xhx.repo', skipping.
Extra Packages for Enterprise Linux 9 - x86_64      5.3 MB/s |  20 MB     00:03    
Extra Packages for Enterprise Linux 9 openh264 (Fro 877  B/s | 2.5 kB     00:02    
mariadb-devel-10.5.16-2.el9.x86_64.rpm              192 kB/s | 1.1 MB     00:05    
Dependencies resolved.
====================================================================================
 Package                       Arch      Version              Repository       Size
====================================================================================
Installing:
 mariadb-devel                 x86_64    3:10.5.16-2.el9      @commandline    1.1 M
Installing dependencies:
 mariadb-connector-c           x86_64    3.2.6-1.el9_0        appstream       195 k
 mariadb-connector-c-config    noarch    3.2.6-1.el9_0        appstream       9.8 k
 mariadb-connector-c-devel     x86_64    3.2.6-1.el9_0        appstream        55 k

Transaction Summary
====================================================================================
Install  4 Packages

Total size: 1.3 M
Total download size: 260 k
Installed size: 6.0 M
Downloading Packages:
(1/3): mariadb-connector-c-config-3.2.6-1.el9_0.noa  93 kB/s | 9.8 kB     00:00    
(2/3): mariadb-connector-c-devel-3.2.6-1.el9_0.x86_ 274 kB/s |  55 kB     00:00    
(3/3): mariadb-connector-c-3.2.6-1.el9_0.x86_64.rpm 767 kB/s | 195 kB     00:00    
------------------------------------------------------------------------------------
Total                                               157 kB/s | 260 kB     00:01     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                            1/1 
  Installing       : mariadb-connector-c-config-3.2.6-1.el9_0.noarch            1/4 
  Installing       : mariadb-connector-c-3.2.6-1.el9_0.x86_64                   2/4 
  Installing       : mariadb-connector-c-devel-3.2.6-1.el9_0.x86_64             3/4 
  Installing       : mariadb-devel-3:10.5.16-2.el9.x86_64                       4/4 
  Running scriptlet: mariadb-devel-3:10.5.16-2.el9.x86_64                       4/4 
  Verifying        : mariadb-connector-c-devel-3.2.6-1.el9_0.x86_64             1/4 
  Verifying        : mariadb-connector-c-3.2.6-1.el9_0.x86_64                   2/4 
  Verifying        : mariadb-connector-c-config-3.2.6-1.el9_0.noarch            3/4 
  Verifying        : mariadb-devel-3:10.5.16-2.el9.x86_64                       4/4 

Installed:
  mariadb-connector-c-3.2.6-1.el9_0.x86_64                                          
  mariadb-connector-c-config-3.2.6-1.el9_0.noarch                                   
  mariadb-connector-c-devel-3.2.6-1.el9_0.x86_64                                    
  mariadb-devel-3:10.5.16-2.el9.x86_64                                              

Complete!
[root@localhost ~]# yum -y install ncurses-devel openssl-devel openssl cmake 继续下载所需的软件包


解压软件包

[root@localhost ~]# useradd -r -M -s /sbin/nologin mysql   //创建mysql系统用户
[root@localhost ~]# tar xf mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz -C /usr/local //解压软件包
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv mysql-8.0.35-linux-glibc2.28-x86_64/ mysql  //更改名字
[root@localhost local]# chown -R mysql.mysql mysql   //设置mysql的所属组与所属者
[root@localhost local]# ll
total 0
drwxr-xr-x. 14 root  root  164 Dec 11 15:25 apache
drwxr-xr-x.  6 root  root   58 Dec 11 15:06 apr
drwxr-xr-x.  5 root  root   43 Dec 11 15:13 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 18:09 lib64
drwxr-xr-x.  2 root  root    6 May 16  2022 libexec
drwxr-xr-x.  9 mysql mysql 129 Dec 11 16:29 mysql
drwxr-xr-x.  2 root  root    6 May 16  2022 sbin
drwxr-xr-x.  5 root  root   49 Dec  4 18:09 share
drwxr-xr-x.  2 root  root    6 May 16  2022 src

配置环境变量

[root@localhost local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh   //配置环境变量
[root@localhost local]# source /etc/profile.d/mysql.sh   //使配置生效
[root@localhost local]# mkdir /opt/data   //创建mysql数据目录
[root@localhost local]# chown -R mysql.mysql /opt/data   //更改data的所属组与所属者

初始化

[root@localhost local]# mysqld --initialize --user mysql --datadir /opt/data
2023-12-11T08:39:18.653499Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.35) initializing of server in progress as process 55107
2023-12-11T08:39:18.720906Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-12-11T08:39:19.416218Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-12-11T08:39:25.518004Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jSiaD.OIV1rh     //jSiaD.OIV1rh 为mysql一次性密码 需保存

编辑配置文件
[root@localhost local]# vim /etc/my.cnf   //编辑配置文件
[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
[root@localhost local]# ls /usr/local/mysql/
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost local]# ln -s /usr/local/mysql/include/ /usr/include/mysql  //做软连接
[root@localhost local]# vim /etc/ld.so.conf.d/mysql.conf   //让系统找到库文件
/usr/local/mysql/lib
[root@localhost local]# ldconfig -v   //测试能不能找到库文件
/usr/local/mysql/lib: (from /etc/ld.so.conf.d/mysql.conf:1)
        libmysqlclient.so.21 -> libmysqlclient.so.21.2.35  //能找到就可以了

编写帮助文档

[root@localhost local]# ls /usr/local/mysql/
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost local]# vim /etc/man_db.conf 
MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/man
MANDATORY_MANPATH                       /usr/local/apache/man
MANDATORY_MANPATH                       /usr/local/mysql/man
[root@localhost local]# vim /usr/local/mysql/support-files/mysql.server  //编写脚本文件
basedir=/usr/local/mysql
datadir=/opt/data
[root@localhost local]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.Logging to '/opt/data/localhost.localdomain.err'.
.. SUCCESS! 


编写mysql配置文件

[root@localhost local]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/mysqld.service  //复制配置文件
[root@localhost local]# vim /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@localhost ~]# systemctl daemon-reload  //刷新配置文件
[root@localhost ~]# systemctl enable --now mysqld  //设置开机自启并立刻启动服务
[root@localhost ~]# systemctl status mysqld
● mysqld.service - mysqld server daemon
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disable>
     Active: active (running) since Mon 2023-12-11 17:08:42 CST; 1min 18s ago
    Process: 958 ExecStart=/usr/local/mysql/support-files/mysql.server start (code=ex>
   Main PID: 1007 (mysqld_safe)
      Tasks: 38 (limit: 11913)
     Memory: 446.2M
        CPU: 3.214s
     CGroup: /system.slice/mysqld.service
             ├─1007 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data --pi>
             └─1292 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=>

Dec 11 17:08:37 localhost.localdomain systemd[1]: Starting mysqld server daemon...
Dec 11 17:08:42 localhost.localdomain mysql.server[958]: Starting MySQL.... SUCCESS!
Dec 11 17:08:42 localhost.localdomain systemd[1]: Started mysqld server daemon.

更改mysql密码

[root@localhost ~]# mysql -uroot -p'jSiaD.OIV1rh'   //使用一次性密码进入

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

mysql> quit
Bye
配置tomcat
[root@localhost ~]# yum -y install java-11-openjdk*
[root@localhost ~]# yum search jdk
Last metadata expiration check: 0:27:21 ago on Mon 26 Feb 2024 05:22:10 PM CST.
============================= Name & Summary Matched: jdk ==============================
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.8.0-openjdk.x86_64 : OpenJDK 8 Runtime Environment
java-1.8.0-openjdk-demo.x86_64 : OpenJDK 8 Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK 8 Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK 8 Headless Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in a
                                      : single archive
java-1.8.0-openjdk-src.x86_64 : OpenJDK 8 Source Bundle
java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environment
java-11-openjdk-demo.x86_64 : OpenJDK 11 Demos
java-11-openjdk-devel.x86_64 : OpenJDK 11 Development Environment
java-11-openjdk-headless.x86_64 : OpenJDK 11 Headless Runtime Environment
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single
                                   : archive
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK 11 Source Bundle
java-11-openjdk-static-libs.x86_64 : OpenJDK 11 libraries for static linking
java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment
java-17-openjdk-demo.x86_64 : OpenJDK 17 Demos
java-17-openjdk-devel.x86_64 : OpenJDK 17 Development Environment
java-17-openjdk-headless.x86_64 : OpenJDK 17 Headless Runtime Environment
java-17-openjdk-javadoc.x86_64 : OpenJDK 17 API documentation
java-17-openjdk-javadoc-zip.x86_64 : OpenJDK 17 API documentation compressed in a single
                                   : archive
java-17-openjdk-jmods.x86_64 : JMods for OpenJDK 17
java-17-openjdk-src.x86_64 : OpenJDK 17 Source Bundle
java-17-openjdk-static-libs.x86_64 : OpenJDK 17 libraries for static linking
java-21-openjdk.x86_64 : OpenJDK 21 Runtime Environment
java-21-openjdk-demo.x86_64 : OpenJDK 21 Demos
java-21-openjdk-devel.x86_64 : OpenJDK 21 Development Environment
java-21-openjdk-headless.x86_64 : OpenJDK 21 Headless Runtime Environment
java-21-openjdk-javadoc.x86_64 : OpenJDK 21 API documentation
java-21-openjdk-javadoc-zip.x86_64 : OpenJDK 21 API documentation compressed in a single
                                   : archive
java-21-openjdk-jmods.x86_64 : JMods for OpenJDK 21
java-21-openjdk-src.x86_64 : OpenJDK 21 Source Bundle
java-21-openjdk-static-libs.x86_64 : OpenJDK 21 libraries for static linking
maven-openjdk11.noarch : OpenJDK 11 binding for Maven
maven-openjdk17.noarch : OpenJDK 17 binding for Maven
maven-openjdk8.noarch : OpenJDK 8 binding for Maven
slf4j-jdk14.noarch : SLF4J JDK14 Binding
================================== Name Matched: jdk ===================================
idm-ldapjdk.noarch : LDAP SDK
[root@localhost ~]# wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz
--2024-02-26 17:50:50--  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   440KB/s    in 30s     

2024-02-26 17:51:22 (414 KB/s) - ‘apache-tomcat-10.1.19.tar.gz’ saved [12718453/12718453]

[root@localhost ~]# ls
a1  anaconda-ks.cfg               Documents  Pictures   Videos
a2  apache-tomcat-10.1.19.tar.gz  Downloads  Public
a3  Desktop                       Music      Templates
[root@localhost ~]# tar xf apache-tomcat-10.1.19.tar.gz -C /usr/local/
[root@localhost ~]# ln -s /usr/local/apache-tomcat-10.1.19/ /usr/local/tomcat
[root@localhost ~]#  ls /usr/local/
apache-tomcat-10.1.19  etc    include  lib64    mysql  sbin   src
bin                    games  lib      libexec  nginx  share  tomcat
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# mkdir test
[root@localhost webapps]# vim test/index.jsp
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
             out.println("Hello World");
        %>
</body>
</html>
[root@localhost webapps]# cd /usr/local/tomcat/conf/
[root@localhost conf]# ls
catalina.policy      jaspic-providers.xml  server.xml        web.xml
catalina.properties  jaspic-providers.xsd  tomcat-users.xml
context.xml          logging.properties    tomcat-users.xsd
[root@localhost conf]# vim server.xml
<Server port="8006" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8444"
               maxParameterCount="1000"
               />
[root@localhost conf]# cd /usr/lib/systemd/system
[root@localhost system]#  cp sshd.service tomcat1.service
[root@localhost system]# vim tomcat1.service
[Unit]
Description=tomcat1 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@localhost ~]# systemctl enable --now tomcat1.service
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat1.service →
/usr/lib/systemd/system/tomcat1.service.
[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        4096                127.0.0.1:631            0.0.0.0:*                
LISTEN   0        511                   0.0.0.0:80             0.0.0.0:*                
LISTEN   0        4096                    [::1]:631               [::]:*                
LISTEN   0        100                         *:8081                 *:*                
LISTEN   0        128                      [::]:22                [::]:*                
LISTEN   0        151                         *:3306                 *:*                
LISTEN   0        1          [::ffff:127.0.0.1]:8006                 *:*                
LISTEN   0        70                          *:33060                *:*                
[root@localhost ~]# ps -ef | grep tomcat
root       65340       1  8 18:30 ?        00:00:11 /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       65410    2970  0 18:32 pts/0    00:00:00 grep --color=auto tomcat

192.168.117.11:8081

Nginx负载均衡和反向代理

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    upstream tomcat {     //添加负载均衡
        server 192.168.117.12:8080;   
        server 192.168.117.11:8081;
    }
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
     #       root   html;
     #       index  index.html index.htm;
        proxy_pass http://tomcat;
        }
[root@localhost ~]# systemctl restart nginx.service

访问192.168.117.10/test/ 查看结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值