Lamt

Lamt部署

准备工作:

关闭防火墙,selinux,配置yum源

[root@localhost ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# vi /etc/selinux/config
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Stream-AppStream.repo  CentOS-Stream-Extras.repo            CentOS-Stream-PowerTools.repo
CentOS-Stream-BaseOS.repo     CentOS-Stream-HighAvailability.repo  CentOS-Stream-RealTime.repo
CentOS-Stream-Debuginfo.repo  CentOS-Stream-Media.repo
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# ls
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@localhost yum.repos.d]# sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
[root@localhost yum.repos.d]# sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
[root@localhost yum.repos.d]# dnf clean all
18 文件已删除
[root@localhost yum.repos.d]# dnf makecache
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  epel-modular.repo  epel.repo  epel-testing-modular.repo  epel-testing.repo

1.编译安装apache

#  提前下载好安装包依赖包以及make,vim,wget,
[root@localhost ~]# yum groups mark install "Development Tools"
[root@localhost ~]# yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make wget vim
提前下载好安装包,用xftp拖进来
[root@localhost ~]# ls   
anaconda-ks.cfg  apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.54.tar.gz
#创建一个apache系统用户
[root@localhost ~]# useradd -r -M -s /sbin/nologin apache
[root@localhost ~]# id apache
uid=994(apache) gid=991(apache) 组=991(apache)
# 解压,安装编译
[root@localhost ~]# ls
anaconda-ks.cfg  apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.54.tar.gz
[root@localhost ~]# tar xf apr-1.7.0.tar.gz
[root@localhost ~]# tar xf apr-util-1.6.1.tar.gz
[root@localhost ~]# tar xf httpd-2.4.54.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg  apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.54.tar.gz
apr-1.7.0        apr-util-1.6.1    httpd-2.4.54

#编译安装apr
[root@localhost ~]# cd apr-1.7.0
[root@localhost apr-1.7.0]# vi configure
      $RM "$cfgfile"   #删除这一行或者添加注释
[root@localhost apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.7.0]# make
[root@localhost apr-1.7.0]# make install
#编译安装apr-util
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@localhost apr-util-1.6.1]# make
[root@localhost apr-util-1.6.1]# make install
#安装编译httpd
[root@localhost apr-util-1.6.1]# cd ..
[root@localhost ~]# cd httpd-2.4.54
./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@localhost httpd-2.4.54]# make  
[root@localhost httpd-2.4.54]#make install
# 设置环境变量,头文件,man文档等
[root@localhost ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
[root@localhost ~]# source /etc/profile.d/httpd.sh
[root@localhost ~]# ln -s /usr/local/apache/include /usr/include/apache
[root@localhost ~]# 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
# 设置开机自启
[root@localhost system]# cp sshd.service httpd.service
[root@localhost system]# vim httpd.service

[Unit]
Description=httpd server daemon
After=network.target sshd-keygen.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 system]# systemctl daemon-reload
[root@localhost system]# systemctl enable --now httpd
[root@localhost system]# systemctl status httpd
● httpd.service - httpd server daemon
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enable>
   Active: inactive (dead)
[root@localhost system]# systemctl start httpd
[root@localhost system]# systemctl status httpd
● httpd.service - httpd server daemon
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enable>
   Active: active (running) since Tue 2022-08-16 18:10:22 CST; 3>
  Process: 48864 ExecStart=/usr/local/apache/bin/apachectl start>
 Main PID: 48867 (httpd)
    Tasks: 6 (limit: 11202)
   Memory: 5.4M
   CGroup: /system.slice/httpd.service
           ├─48867 /usr/local/apache/bin/httpd -k start
           ├─48868 /usr/local/apache/bin/httpd -k start
           ├─48869 /usr/local/apache/bin/httpd -k start
           ├─48870 /usr/local/apache/bin/httpd -k start
           ├─48871 /usr/local/apache/bin/httpd -k start
           └─48872 /usr/local/apache/bin/httpd -k start

8月 16 18:10:22 localhost.localdomain systemd[1]: Starting httpd>
8月 16 18:10:22 localhost.localdomain apachectl[48864]: AH00558:>
8月 16 18:10:22 localhost.localdomain systemd[1]: Started httpd >
lines 1-18/18 (END)

2.二进制安装mysql

准备工作下载依赖包,创建系统用户,解压

# 安装依赖包
[root@localhost ~]# dnf -y install ncurses-compat-libs openssl-devel openssl cmake mariadb-devel
#创建一个mysql系统用户
[root@localhost ~]# useradd -r -M -s /sbin/nologin mysql
[root@localhost ~]# id mysql
uid=993(mysql) gid=990(mysql) 组=990(mysql)
# 下载安装包,
#解压到/usr/src
[root@localhost ~]# tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/src/
# 修改名字
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
debug  kernels  mysql-5.7.37-linux-glibc2.12-x86_64
[root@localhost src]# mv mysql-5.7.37-linux-glibc2.12-x86_64/ /usr/local/mysql
#修改权限
[root@localhost src]# ll
总用量 0
drwxr-xr-x. 2 root root   6 5月  19 2020 debug
drwxr-xr-x. 2 root root   6 5月  19 2020 kernels
drwxr-xr-x. 9 root root 129 8月  16 18:33 mysql
[root@localhost local]# chown mysql.mysql mysql
[root@localhost local]# ll
drwxr-xr-x. 9 mysql mysql 129 8月  16 18:33 mysql
# 设置环境变量
[root@localhost ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@localhost ~]# source /etc/profile.d/mysql.sh
#配置include
[root@localhost ~]# ln -s /usr/local/mysql/include/ /usr/include/mysql
#设置man文档
[root@localhost ~]# 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 ~]# vim /etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib  # 告诉路径
#创建存放数据的目录,修改属主
[root@localhost ~]# mkdir /opt/data
[root@localhost ~]# chown -R mysql.mysql /opt/data/
[root@localhost ~]# ll /opt/data/ -d
drwxr-xr-x. 2 mysql mysql 6 8月  16 19:17 /opt/data/
#初始化数据库
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/opt/data/
。
。
2022-08-16T11:20:12.810081Z 1 [Note] A temporary password is generated for root@localhost: %oagCle,<2k5  #会生成一个一次性密码
# 生成配置文件
[root@localhost ~]# 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
sql-mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 配置服务启动脚本
[root@localhost ~]#  cd /usr/local/mysql/   # 有一个支持文件
[root@localhost mysql]# ls
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost mysql]# cd support-files/
[root@localhost support-files]# ls   # 有一个脚本
magic  mysqld_multi.server  mysql-log-rotate  mysql.server
[root@localhost support-files]# file mysql.server 
mysql.server: POSIX shell script, ASCII text executable
[root@localhost support-files]# ll   # 这个脚本有执行权限
总用量 24
-rw-r--r--. 1 mysql mysql   773 11月 30 2021 magic
-rwxr-xr-x. 1 mysql mysql  1061 11月 30 2021 mysqld_multi.server
-rwxr-xr-x. 1 mysql mysql   894 11月 30 2021 mysql-log-rotate
-rwxr-xr-x. 1 mysql mysql 10576 11月 30 2021 mysql.server
[root@localhost support-files]# cp mysql.server mysqld  # 复制一个叫mysqld
[root@localhost support-files]# chown -R mysql.mysql mysqld # 更改权限
[root@localhost support-files]# ll
总用量 36
-rw-r--r--. 1 mysql mysql   773 11月 30 2021 magic
-rwxr-xr-x. 1 mysql mysql 10576 6月  29 07:20 mysqld
-rwxr-xr-x. 1 mysql mysql  1061 11月 30 2021 mysqld_multi.server
-rwxr-xr-x. 1 mysql mysql   894 11月 30 2021 mysql-log-rotate
-rwxr-xr-x. 1 mysql mysql 10576 11月 30 2021 mysql.server
[root@localhost support-files]#  vi mysqld  修改
basedir=/usr/local/mysql # 安装的位子
datadir=/opt/data    # 数据存放的位子
# 启动mysql
[root@localhost ~]# /usr/local/mysql/support-files/mysqld start  
Starting MySQL.Logging to '/opt/data/localhost.localdomain.err'.
 SUCCESS!
[root@localhost ~]# ss -antl  #查看端口号
State  Recv-Q Send-Q Local Address:Port Peer Address:PortProcess
LISTEN 0      128          0.0.0.0:22        0.0.0.0:*
LISTEN 0      80                 *:3306            *:*
LISTEN 0      128                *:80              *:*
LISTEN 0      128             [::]:22           [::]:*
[root@localhost ~]# ps -ef|grep mysql   #过滤看又没有mysql的进程
root       49596       1  0 19:42 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data --pid-file=/opt/data/mysql.pid
mysql      49796   49596  1 19:42 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/opt/data/mysql.pid --socket=/tmp/mysql.sock --port=3306
root       49828   49562  0 19:43 pts/1    00:00:00 grep --color=auto mysql
# 修改密码,使用临时密码登录
[root@localhost ~]# mysql -uroot -p'%oagCle,<2k5'
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 4
Server version: 5.7.37

Copyright (c) 2000, 2022, 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> set password = password('12345678');   #设置新密码
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> quit  #退出
Bye

# 新密码登录
[root@localhost ~]# mysql -uroot -p'12345678'
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 5
Server version: 5.7.37 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, 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
# 配置service文件 设置开机自启
[root@localhost ~]# cd /usr/lib/systemd/system
[root@localhost system]# cp sshd.service mysqld.service
[root@localhost system]# vim mysqld.service

[Unit]
Description=mysql server daemon
After=network.target sshd-keygen.target

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

[Install]
WantedBy=multi-user.target
[root@localhost system]# systemctl daemon-reload  #读一下,让文件更新
[root@localhost system]# systemctl enable --now mysqld   #设置开机自启立马生效
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@localhost ~]# systemctl status mysqld   #查看状态
● mysqld.service - mysql server daemon
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-08-16 20:34:38 CST; 45s ago
  Process: 50851 ExecStart=/usr/local/mysql/support-files/mysqld start (code=exited, status=0/SUCCESS)
 Main PID: 50864 (mysqld_safe)
    Tasks: 28 (limit: 11202)
   Memory: 173.8M
   CGroup: /system.slice/mysqld.service
           ├─50864 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data --pid-file=/opt/data/mysql.pid
           └─51066 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/data --plugin-dir=/usr/local/mysql/lib/plugi>
[root@localhost ~]# mysql -uroot -p'12345678'   #连接验证
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 2
Server version: 5.7.37 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, 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>

3.安装tomcat

# 安装jdk环境
[root@localhost ~]# dnf -y install java-latest-openjdk-devel.x86_64 java-latest-openjdk.x86_64
#查看安装的版本
[root@localhost ~]# java -version
openjdk version "18.0.1" 2022-04-19
OpenJDK Runtime Environment 22.3 (build 18.0.1+10)
OpenJDK 64-Bit Server VM 22.3 (build 18.0.1+10, mixed mode, sharing)

#下载tomcat,我已经提前下好,直接通过xftp传过来的
[root@localhost ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.65.tar.gz
[root@localhost ~]# mv apache-tomcat-9.0.65.tar.gz /usr/src/
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
apache-tomcat-9.0.65.tar.gz  debug  kernels

#解压部署
[root@localhost src]# tar xf apache-tomcat-9.0.65.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ls
apache  apache-tomcat-9.0.65  apr  apr-util  bin  etc  games  include  lib  lib64  libexec  mysql  sbin  share  src
[root@localhost local]# ln -s apache-tomcat-9.0.65/ tomcat
[root@localhost local]# ll tomcat
lrwxrwxrwx. 1 root root 21 8月  16 20:46 tomcat -> apache-tomcat-9.0.65/
#写一个hello world的java页面
[root@localhost ]# vi index.jsp

<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("Hellow World");
        %>
</body>
</html>
[root@localhost local]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# mkdir test
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@localhost webapps]# cd test/
[root@localhost test]# mv ~/index.jsp .
[root@localhost test]# ll
总用量 4
-rw-r--r--. 1 root root 141 8月  16 05:59 index.jsp
#启动tomcat
[root@localhost ~]# /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 ~]# ps -ef|grep tomcat
root       51777       1 13 21:07 pts/1    00:00:03 /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 -Dignore.endorsed.dirs= -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       51808   49562  0 21:07 pts/1    00:00:00 grep --color=auto tomcat
[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           80                                *:3306                      *:*
LISTEN     0           100                               *:8080                      *:*
LISTEN     0           128                               *:80                        *:*
LISTEN     0           128                            [::]:22                     [::]:*
LISTEN     0           1                [::ffff:127.0.0.1]:8005                      *:*

 

posted @ 2022-08-16 15:18  孙一鸣  阅读(178)  评论(0)    收藏  举报