centos7源码编译实现LAMP

centos7源码编译实现LAMP 基于php-fpm

lamp

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
192.168.63.131安装apache 和php-fpm 用源码编译实现
192.168.63.132安装mysql 二进制安装
并搭建WordPress博客

需要用到的包并执行包的顺序
1. apr-1.6.3.tar.gz 用于源码编译httpd
2. apr-util-1.6.1.tar.gz 用于源码编译httpd
3. httpd-2.4.33.tar.bz2 用于源码编译httpd
4. mariadb-10.2.15-linux-x86_64.tar.gz 用于二进制安装数据库
5. php-7.1.18.tar.bz2 用于源码编译php
6. wordpress-4.9.4-zh_CN.tar.gz 用于搭建博客

在192.168.63.131编译安装Apache
mkdir /srcs 创建一个没有了,将用到的包统一放到目录里面

进行包解压
tar xvf apr-1.6.3.tar.gz
tar xvf apr-util-1.6.1.tar.gz
tar xvf httpd-2.4.33.tar.bz2

将apr-1.6.3 目录拷贝到httpd-2.4.33下的子目录并改名为apr
mv apr-1.6.3 httpd-2.4.33/srclib/apr

将apr-util-1.6.1 目录拷贝到httpd-2.4.33下的子目录并改名为apr-util
mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util

切换到/httpd-2.4.33/目录下
cd srcs/httpd-2.4.33/

安装开发包组
yum groupinstall “Development Tools” -y

安装依赖包
yum install libxml2-devel bzip2-devel libmcrypt-devel -y

yum install pcre-devel openssl-devel expat-devel -y

进行源码编译
[root@contes7 httpd-2.4.33]# ./configure –prefix=/appl/httpd24 \
–enable-so \
–enable-ssl \
–enable-cgi \
–enable-rewrite \
–with-zlib \
–with-pcre \
–with-included-apr \
–enable-modules=most \
–enable-mpms-shared=all \
–with-mpm=prefork

编译安装
make -j 2 && make install

设置环境变量
echo PATH=/appl/httpd24/bin:$PATH > /etc/profile.d/lamp.sh

. /etc/profile.d/lamp.sh

启动Apache服务
apachectl

浏览器测试
http://192.168.63.131/

在192.168.63.132二进制编译数据库

#清除防火墙
iptables -F
#更改/etc/selinux/config里面的SELINUX=disabled,关闭selinux
sed -i -r ‘s/^SELINUX=.*/SELINUX=disabled/’ /etc/selinux/config
#安装libaio包
yum install -y libaio &> /dev/null
#查看在/etc/passwd文件里面有没有mysql用户,如果没有创建mysql用户
getent passwd mysql || echo `useradd -r -d /data/mysqldb -s /sbin/nologin mysql`
#查看/usr/local/目录下有没有解压完成的包,如果没有解压安装包
ls -l /usr/local/mariadb-10.2.15-linux-x86_64 &> /dev/null || echo `tar xvf /root/mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/ &> /dev/null`
#切换到/usr/local/目录
cd /usr/local
#设置软链接
ln -s mariadb-10.2.15-linux-x86_64/ mysql
#设置mysql目录下的所有文件的属主和属组是root
chown -R root:root mysql/
在/etc/profile.d/mysql.sh文件下加入/usr/local/mysql/bin的PATHA变量
echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/lamp.sh #
#给/etc/profile.d/mysql.sh文件加执行权限
chmod +x /etc/profile.d/lamp.sh
#切换到家目录
cd
#执行/etc/profile.d/mysql.sh脚本
source /etc/profile.d/lamp.sh
#在data目录创建mysqldb目录
mkdir /data/mysqldb -p
#设置/data/mysqldb目录的的属主和属组是mysql用户
chown mysql.mysql /data/mysqldb
#切换到/usr/local/mysql目录
cd /usr/local/mysql
#在/data/mysqldb下生成数据库
scripts/mysql_install_db –datadir=/data/mysqldb –user=mysql
#覆盖系统自带的配置文件
cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf -a
#在配置文件里面的[mysqld]下面添加一行datadir = /data/mysqldb
sed -i ‘/\[mysqld\]/a\datadir = /data/mysqldb’ /etc/my.cnf &> /dev/null
#拷贝启动文件到/etc/init.d/mysqld
cp support-files/mysql.server /etc/init.d/mysqld -a
chkconfig –add mysqld
#启动mysql
systemctl start mysql.service

查看二进制日志有没有启用
show variables like “log_bin”;

查看是不是分库分表
show variables like “innodb_file%”;

创建wpsb数据库,用于搭建WordPress博客
create database wpdb;

创建wpuser用户,密码是centos,权限是all所有权限
grant all on *.* to wpuser@’192.168.63.%’ identified by ‘centos’;

刷新权限
flush privileges;

在192.168.63.131编译安装php fastcgi
解压PHP包
tar xf php-7.1.18.tar.bz2

切换到解压的PHP目录
cd php-7.1.18
执行编译
./configure –prefix=/appl/php \
–enable-mysqlnd \
–with-mysqli=mysqlnd \
–with-openssl \
–with-pdo-mysql=mysqlnd \
–enable-mbstring \
–with-freetype-dir \
–with-jpeg-dir \
–with-png-dir \
–with-zlib \
–with-libxml-dir=/usr \
–enable-xml \
–enable-sockets \
–enable-fpm \
–with-config-file-path=/etc \
–with-config-file-scan-dir=/etc/php.d \
–enable-maintainer-zts \
–disable-fileinfo

编译安装
make -j 2 && make install

切换到htdocs目录
cd /appl/httpd24/htdocs/

解压WordPress包
tar xvf wordpress-4.9.4-zh_CN.tar.gz

将解压的内容拷贝到 /appl/httpd24/htdocs/目录下
mv wordpress/* /appl/httpd24/htdocs/

拷贝配置文件
cp wp-config-sample.php wp-config.php

修改配置文件
vim wp-config.php

配置环境变量
vim /etc/profile.d/lamp.sh

PATH=/appl/php/bin:/appl/php/sbin:/appl/httpd24/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

执行lamp.sh脚本
. /etc/profile.d/lamp.sh

拷贝 php.ini-production到/etc/目录下并改名为php.ini
cd /root/srcs/php-7.1.18/
cp php.ini-production /etc/php.ini

拷贝init.d.php-fpm 到/etc/init.d/目录下
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

给php-fpm 执行权限
chmod +x /etc/init.d/php-fpm

chkconfig –add php-fpm

cd /appl/php/etc/

将php-fpm.conf.default改名为php-fpm.conf
cp php-fpm.conf.default php-fpm.conf

将php-fpm.d/目录下的/www.conf.default 改名为www.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf

启动服务
systemctl start php-fpm

查看9000端口有没有起来
ss -ntl

2018/06/22 11:57
配置http的配置文件
vim /appl/httpd24/conf/httpd.conf

搜索关键字

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

DirectoryIndex index.php index.html

在最后一行加入下面四行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/appl/httpd24/htdocs/$1

关闭http服务
apachectl stop

启动http服务
apachectl

浏览器测试
http://192.168.63.131/wp-admin/index.php

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101541

(0)
周亚飞周亚飞
上一篇 2018-06-24
下一篇 2018-06-24

相关推荐