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 *:*


浙公网安备 33010602011771号