lamp分离式部署

lamp分离式部署

服务器IP
apache192.168.30.202
mysql192.168.30.178
php192.168.30.214

#准备工作#


apache服务要用网络源,mysql和php可以使用本地源


安装yum源
rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm



[root@zyy ~]#cd /etc/yum.repos.d/
[root@zyy180 yum.repos.d]# curl -o   CentOS7-Base-163.repo  http://mirrors.163.com/.help/CentOS7-Base-163.repo



[root@zyy180 yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@zyy180 yum.repos.d]# sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163.repo



安装所需软件
yum -y install epel-release vim



安装所需工具包
[root@zyy ~]# yum groups mark install 'Development Tools'

A.配置http服务器


1.创建用户
[root@zyy ~]# useradd  -r   -M  -s  /sbin/nologin  apache



2.下载httpd服务所需包
[root@zyy ~]# yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++

[root@zyy ~]# wget https://mirror.bit.edu.cn/apache/apr/apr-1.7.0.tar.bz2

[root@zyy ~]# wget https://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.bz2

[root@zyy ~]# wget https://mirror.bit.edu.cn/apache/httpd/httpd-2.4.43.tar.bz2

[root@zyy ~]# yum -y install bzip2



3.解压
[root@zyy ~]# tar xf apr-1.7.0.tar.bz2 
[root@zyy ~]# tar xf apr-util-1.6.1.tar.bz2 
[root@zyy ~]# tar xf httpd-2.4.43.tar.bz2 




4.编译apr工具并安装
[root@zyy ~]# cd apr-1.7.0


[root@zyy apr-1.7.0]# vim configure
 $RM "$cfgfile"    注释或者删掉


[root@zyy apr-1.7.0]# ./configure  --prefix=/usr/local/apr


[root@zyy apr-1.7.0]# make  && make install




[root@zyy apr-1.7.0]#cd /usr/src/apr-util-1.6.1


[root@zyy apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr


[root@zyy apr-util-1.6.1]# make  &&  make install



5.编译httpd并安装
[root@zyy apr-util-1.6.1]# cd /root/httpd-2.4.43


./configure --prefix=/usr/local/apache \
sysconfdir=/etc/httpd24 \
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@zyy httpd-2.4.43]# make  &&  make install




6.做环境变量
[root@zyy apache]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
[root@zyy apache]# source /etc/profile.d/httpd.sh



头文件
[root@zyy apache]# ln -s /usr/local/apache/include/ /usr/include/httpd



帮助文件
[root@zyy apache]# vim /etc/man_db.conf
MANDATORY_MANPATH                       /usr/local/apache/man



[root@zyy apache]# vim /etc/httpd24/httpd.conf 
ServerName www.example.com:80   //注释取消掉



7.启动服务
[root@zyy apache]# apachectl start



[root@zyy180 apache]# ss -anlt
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128        *:22                     *:*                  
LISTEN      0      100    127.0.0.1:25                     *:*                  
LISTEN      0      128       :::80                    :::*                  
LISTEN      0      128       :::22                    :::*                  
LISTEN      0      100      ::1:25                    :::*              



B.配置mysql服务器


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



1.创建用户
[root@zyy ~]# useradd -r -M -s  /sbin/no   -u 306   mysql



2.解压
将二进制数据库拖进来
[root@zyy ~]# tar xf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/




3.做链接和改属主
[root@zyy ~]# cd /usr/local/

[root@zyy local]# ln -s mysql-5.7.30-linux-glibc2.12-x86_64/  mysql

[root@zyy local]# chown   -R  mysql.mysql   mysql*




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



[root@zyy local]# cd  /usr/local/mysql
[root@zyy mysql]# ln -s include   /usr/include/mysql




[root@zyy mysql]# vim /etc/man_db.conf
MANDATORY_MANPATH          /usr/local/mysql/man




[root@zyy mysql]# vim  /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
[root@zyy mysql]# ldconfig 



5.创建存放目录
[root@zyy mysql]# mkdir /opt/data
[root@zyy mysql]# chown -R mysql.mysql /opt/data/




6.初始化
[root@zyy mysql]# mysqld --initialize-insecure --user=mysql --datadir=/opt/data




7.编译并安装
[root@zyy mysql]# cat > /etc/my.cnf <<EOF
[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
EOF




8.配置服务启动脚本
[root@zyy mysql]# cd  /usr/local/mysql/support-files
[root@zyy support-files]# cp  mysql.server   /etc/init.d/mysqld
[root@zyy support-files]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/opt/data




[root@zyy180 support-files]# service  mysqld  start
[root@zyy ~]# chkconfig  --add  mysqld                 //开机自启




9.修改密码
[root@zyy support-files]# mysql -uroot
mysql> set password=password('1');




[root@192 lamp]# ss -anlt
State      Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
LISTEN     0      128                      *:22                                   *:*                  
LISTEN     0      128                     :::22                                  :::*                  
LISTEN     0      80                      :::3306                                :::*      




C.配置php服务器


下载php源
[root@zyy ~]# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm



解压
[root@zyy ~]# tar xf php-7.4.7.tar.xz 


启动php包
[root@zyy ~]# rpm -Uvh remi-release-7.rpm


下载缓存
[root@zyy ~]# yum makecache --enablerepo=remi-php74



下载所需依赖包
[root@zyy ~]# yum -y install libxml2 libxml2-devel  \
openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libicu-devel libjpeg  \
libjpeg-devel libpng libpng-devel openldap-devel  pcre-devel   \
freetype freetype-devel gmp gmp-devel libmcrypt  \
libmcrypt-devel readline readline-devel libxslt libxslt-devel  \
mhash mhash-devel php74-php-mysqlnd



1.进到php包
[root@zyy php-7.4.7]# cd php-7.4.7





2.编译并安装

[root@zyy ~]# yum -y install libsqlite3x-devel.x86_64  oniguruma-devel.x86_64


./configure --prefix=/usr/local/php7  \
--with-config-file-path=/etc \
--enable-fpm \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-openssl \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--enable-exif  \
--enable-ftp \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--with-gettext \
--enable-json \
--enable-mbstring \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-readline \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-pcntl \
--enable-posix


使用多核心编译
[root@zyy php-7.4.7]# make -j $(cat /proc/cpuinfo |grep processor|wc -l)


[root@zyy php-7.4.7]# make install




3.环境变量
[root@zyy php-7.4.7]#echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php7.sh
[[root@zyy php-7.4.7]#source /etc/profile.d/php7.sh




4.配置服务启动脚本

在php解压文件里
[root@zyy php-7.4.7]# cp php.ini-production /etc/php.ini

[root@zyy php-7.4.7]# cd sapi/fpm/

[root@zyy fpm]# cp init.d.php-fpm /etc/init.d/php-fpm

[root@zyy fpm]# chmod +x /etc/init.d/php-fpm 






5.配置php-fpm

[root@zyy etc]# cd /usr/local/php7/etc
[root@zyy etc]# cp   php-fpm.conf.default   php-fpm.conf


[root@zyy etc]# vim php-fpm.conf                         //可以选择优化
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8




[root@zyy etc]# cd php-fpm.d/
[root@zyy php-fpm.d]# cp www.conf.default www.conf
[root@zyy php-fpm.d]# vim www.conf
listen = 0.0.0.0:9000                //监听所有端口




6.启动服务
[root@zyy ~]# service php-fpm start
[root@zyy ~]# chkconfig   --add  php-fpm             //开机自启



[root@zyy ~]# ss -anlt
State      Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
LISTEN     0      128                      *:22                                   *:*                  
LISTEN     0      128                      *:9000                                 *:*                  
LISTEN     0      128                     :::22                                  :::* 

配置虚拟主机
                
       
               
A.在apache服务器上
 
 
1.启动模块
vim    /etc/httpd24/httpd.conf


     取消注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so







2.配置虚拟主机
vim  /etc/httpd24/httpd.conf

<VirtualHost *:80>
    DocumentRoot "/usr/local/apache/htdocs"   //静态网页地址,在本机上
    ServerName zyy.com
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.30.214:9000/xunxian/$1  //填写动态网页地址,在php服务器上
    <Directory "/usr/local/apache/htdocs/zyy">
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>



加上去
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps



改为index.php
    DirectoryIndex  index.php   index.html




3.更改属主
[root@zyy htdocs]# cd ..
[root@zyy apache]# chown -R apache.apache htdocs/






B.在数据库服务器

grant all on *.*  to  root@192.168.30.214  identified by '1';
                                    //创建一个php服务器可以访问的用户






C.在php服务器

                   将项目下载下来
                                      
1.还原数据库
[root@zyy xunxian]# mysql -uroot -p1 -h192.168.30.178 -e 'create database game;'
[root@zyy xunxian]# mysql -uroot -p1 -h192.168.30.178 game < game.sql 



2.修改数据库信息
vim pdo.php 
$sqlname='root';
$sqlpass='1';
$dbhost='192.168.30.178';
.....




3.将要使用的静态网页传给apache服务器静态目录下
[root@zyy xunxian]# scp -r  /xunxian/*  192.168.30.202:/usr/local/apache/htdocs/





重启服务
[root@zyy htdocs]# apachectl  stop  
[root@zyy htdocs]# apachectl  start


[root@zyy htdocs]# service mysqld  restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 


[root@zyy htdocs]# service php-fpm  restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值