Linux——LAMP架构(php/tomcat/mysql)

php 安装

解压压缩包,与nginx相似,预编译,编译,安装

 yum install -y bzip2
yum install -y systemd-devel libxml2-devel sqlite-devel libpng-devel libcurl-devel

在这里插入图片描述

rpm -ivh oniguruma-devel-6.8.2-1.el7.x86_64.rpm
rpm -ivh oniguruma-6.8.2-1.el7.x86_64.rpm
./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx  --with-curl --with-iconv --with-mhash --with-zlib --with-openssl --enable-mysqlnd --with-mysqli --with-pdo-mysql --disable-debug --enable-sockets --enable-soap --enable-inline-optimization --enable-xml --enable-ftp --enable-gd --enable-exif --enable-mbstring  --enable-bcmath --with-fpm-systemd

 make &>/dev/null
 make install &>/dev/null
cd /usr/local/lnmp/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

在这里插入图片描述

cd php-fpm.d/
cp www.conf.default www.conf
cd ~/php-7.4.12/
cp php.ini-production /usr/local/lnmp/php/etc/php.ini
vim /usr/local/lnmp/php/etc/php.ini
date.timezone = Asia/Shanghai

在这里插入图片描述

cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

在这里插入图片描述
在nginx主配置文件中添加php支持

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }

在这里插入图片描述
添加php网页

vim /usr/local/nginx/html/index.php
<?php
phpinfo()
?>

启动

systemctl daemon-reload
systemctl start php-fpm

添加环境变量:

vim  ~/.bash_profile 
source ~/.bash_profile 

在这里插入图片描述访问测试:
在这里插入图片描述

php + memcache

安装依赖项,解压memcache

yum install -y autoconf &> /dev/null
phpize
./configure &> /dev/null
make &> /dev/null && make install &> /dev/null

在这里插入图片描述

vim /usr/local/lnmp/php/etc/php.ini

在这里插入图片描述

systemctl reload php-fpm
php -m |grep memcache

在这里插入图片描述
将测试页面以及memcache复制至nginx html目录

cp memcache.php /usr/local/nginx/html/
cp example.php /usr/local/nginx/html/
vim /usr/local/nginx/html/memcache.php

在这里插入图片描述安装启用memcached

yum install memcached -y
systemctl start memcached

访问:
在这里插入图片描述
在这里插入图片描述
多次访问后,绿色占比变大,表示命中缓存多次。
在这里插入图片描述

openresty

在这里插入图片描述

nginx -s stop
tar zxf openresty-1.19.3.1.tar.gz
cd openresty-1.19.3.1
./configure  --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio 
make && make install 

在这里插入图片描述

 cd /usr/local/openresty/nginx/conf

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

会话保持

vim /usr/local/tomcat/conf/context.xml

在这里插入图片描述
在这里插入图片描述

/usr/local/tomcat/bin/shutdown.sh 

在这里插入图片描述模块,删掉tc6
在这里插入图片描述

rm -fr ../lib/memcached-session-manager-tc6-1.6.3.jar

安装启用memcached

yum install -y memcached
systemctl start memcached

在这里插入图片描述
在这里插入图片描述

 yum install -y telnet
 telnet server3 11211

键入stats看到memcache的工作状态
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

此时,若server2上的tomcat无法提供服务,则会话将被server3接管,仍然使用server3上工作的memcache,之前的记录仍在
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述而当server3的memcache关闭时,tomcat会从缓存中读取数据,重新server2上的memcache建立新的会话,此时数据都在,但session的ID发生变更。

cat /usr/local/tomcat/logs/catalina.out

在这里插入图片描述

在这里插入图片描述

数据库

 yum install ncurses-devel bison gcc-c++ cmake -y
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_BOOST=/root/mysql-5.7.31/boost/boost_1_59_0

在这里插入图片描述

在这里插入图片描述useradd -M -d /data/mysql -s /sbin/nologin mysql
mkdir -p /data/mysql
chown mysql.mysql -R /data/mysql/
mysqld --initialize --user=mysql
在这里插入图片描述

cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
mysql_secure_installation

在这里插入图片描述在这里插入图片描述

在这里插入图片描述输入密码后:enter*2 剩下的全选yes
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

mysqli.default_socket = /data/mysql/mysql.sock
pdo_mysql.default_socket=/data/mysql/mysql.sock

在这里插入图片描述

在这里插入图片描述

systemctl reload php-fpm

在这里插入图片描述###

在这里插入图片描述

mysql -pwestos
show variables like 'server_id';

在这里插入图片描述

在这里插入图片描述创建用户,授权远程访问,查看master状态,mysql-bin中记录了数据库的操作等,position为当前的语句结束位置

CREATE USER 'repl'@'%' IDENTIFIED BY 'westos'; 
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
show master status

在这里插入图片描述server2
在这里插入图片描述

在这里插入图片描述
server1,备份同步前的数据

mysqldump -p westos > dump.sql
scp dump.sql server2:/root/

因为导出的备份中没有建立数据库的语句,所以手动在server2中建立westos数据库,导入。

CREATE westos;
mysql -p westos < /root/dump.sql

切换工作模式,开启slave,查看slave工作状态:

CHANGE MASTER TO MASTER_HOST='172.25.52.1', MASTER_USER='repl', MASTER_PASSWORD='westos', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=595;
start slave;
show slave status\G;

在这里插入图片描述在从端可以查看更新

在这里插入图片描述

gtid

套娃模式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

[root@server3 lib]# mkdir /data/mysql -p
[root@server3 lib]# useradd -M -d /data/mysql/ -s /sbin/nologin mysql
[root@server3 lib]# chown mysql.mysql /data/mysql
[root@server3 lib]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@server3 lib]# vim ~/.bash_profile
[root@server3 lib]# source  ~/.bash_profile
[root@server3 lib]# mysqld --initialize --user=mysql

在这里插入图片描述

/etc/init.d/mysqld start
mysql_secure_installation 

enter*2 (y+enter)*4

mysqladmin -pwestos create westos

在server1上备份,在server3导入

mysqldump -pwestos  westos > dump.sql
mysql -pwestos westos < /root/dump.sql

查看是否成功导入

在这里插入图片描述在server2上设置用户授权,停止slave,更改为gtid模式

grant replication slave on *.* to repl@'%' identified by 'westos';
stop slave
CHANGE MASTER TO MASTER_HOST='172.25.52.1',MASTER_USER='repl', MASTER_PASSWORD='westos',MASTER_AUTO_POSITION= 1;
start slave;
show slave status\G;

在这里插入图片描述
在这里插入图片描述
在3上 指定2为master,开启slave

CHANGE MASTER TO MASTER_HOST='172.25.52.2',MASTER_USER='repl', MASTER_PASSWORD='westos',MASTER_AUTO_POSITION= 1;
start slave;
show slave status\G;

在这里插入图片描述
测试:在server1上新建数据。在2 3上查看
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

select * from mysql.gtid_executed;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值