分离php和MySQL搭建LAMP平台

分离php和MySQL搭建LAMP平台

环境:

系统:CentOS-7-x86_64-Minimal-1611

Apache:httpd-2.4.25.tar

MySQL:mysql-5.7.16.tar

php:php-5.6.30.tar

192.168.57.144:安装MySQL

192.168.57.143:安装Apache+php

http://blog.sina.com.cn/s/blog_b6e37c3f0101oo81.html

创建相关目录

创建用户

解压安装包

编译安装

(初始化)

链接bin目录

拷贝脚本文件,主配置文件

配置主配置文件

脚本自启动

验证服务

验证对接服务

一·编译安装Apache

yum install lrzsz

cd /usr/local/

tar -zxf httpd-2.4.25.tar.gz

yum install gcc*  gcc-c++*

yum install apr* apr-util apr-devel pcre* pcre-devel openssl* openssl-devel -y

编译安装

./configure --prefix=/apps/svr/httpd --enable-so --enable-rewrite --enable-charset-list  --enable-cgi

或者:

./configure                           \

--prefix=/apps/svr/httpd  \

--sysconfdir=/apps/conf/\

--enable-so                \

--enable-ssl               \

--enable-cgi               \

--enable-rewrite           \

--with-zlib                \

--with-pcre                \

--with-mpm=prefork         \

--enable-modules=most      \

--enable-mpms-shared=all

echo $?

make

make install

配置http环境变量

ln -s /apps/svr/httpd/bin/* /usr/local/bin/

或者:cat >export PATH=$PATH:/apps/svr/httpd/bin >>/etc/profile

检查配置文件

apachectl -t

设置apache为Linux服务并实现开机自启动

cp /apps/svr/httpd/bin/apachectl /etc/init.d/httpd

或者:设置Apache为Linux服务并实现开机自启动

mv /etc/rc.d/init.d/apachectl /etc/rc.d/init.d/httpd

chmod +x /etc/init.d/httpd

vim /etc/init.d/httpd

#!/bin/sh

#chkconfig:2345 80 80

#description:httpd

#

chkconfig:2345 80 80

2345:是服务识别参数,在级别2345中启动

第一个80:是该服务在第80个启动

第二个80:是该服务在第80个关闭

description:httpd       :服务描述信息

chkconfig --add httpd

chkconfig httpd on

chkconfig --list httpd

cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.57.141 www.a.org

cat  /apps/svr/httpd/conf/httpd.conf

#ServerName www.example.com:80

ServerName www.a.org

service  httpd restart

netstat -anpt |grep httpd

关闭数据库

systemctl stop firewalld

http://xsboke.blog.51cto.com/12096269/1922949

编译安装mysql-5.7.16

groupadd -r mysql

useradd -r -g mysql -s /bin/false -M mysql

创建mysql安装文件、数据库存储文件、my.cnf文件

mkdir -p /apps/svr/mysql

mkdir -p /apps/mysqldb/data

mkdir -p /apps/conf

yum install -y gcc wget make cmake zlib-devel ncurses-devel bison gcc-c++ automake autoconf  imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses-devel libxml2-devel expat-devel openssl openssl-devel

下载Boost_1_59_0.tar.gz

wget  http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

tar zxvf boost_1_59_0.tar.gz

下载mysql-5.7.13.tar.gz

wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz

tar zxvf mysql-5.7.17.tar.gz

cd mysql-5.7.17

cmake . -DCMAKE_INSTALL_PREFIX=/apps/svr/mysql \

-DMYSQL_DATADIR=/apps/mysqldb/data \

-DSYSCONFDIR=/apps/conf/my.cnf \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_LIBWRAP=0 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=../boost_1_59_0 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

boost_1_59_0 解压放到mysql上层目录

---------------------------------------------------------------------------------------------------------------------------------

-DCMAKE_INSTALL_PREFIX= 安装根目录

-DCMAKE_INSTALL_PREFIX=  unix套接字目录

-DDEFAULT_CHARSET= 默认字符集

-DDEFAULT_COLLATION=默认编码

-DWITH_EXTRA_CHARSETS= 额外的编码,请使用ALL来编译。

-DWITH_MYISAM_STORAGE_ENGINE=1  编译myisam存储引擎,默认的存储引擎,不加也可以

-DWITH_INNOBASE_STORAGE_ENGINE=1 支持InnoDB存储引擎,这个也是默认安装的

-DWITH_READLINE=1 使用readline功能

-DENABLED_LOCAL_INFILE=1 可以使用load data infile命令从本地导入文件

-DMYSQL_DATADIR=数据库 数据目录

---------------------------------------------------------------------------------------------------------------------------------

grep processor /proc/cpuinfo 个数x2

make或者:make -j $(grep processor /proc/cpuinfo |wc -l)

make install

cat >export PATH=$PATH:/apps/svr/mysql/bin >>/etc/profile

Source /etc/profile

或者:ln -s /apps/svr/mysql/bin /usr/local/bin

chown  -R mysql:mysql /apps/svr/mysql

chown -R mysql:mysql /apps/conf

chown -R mysql:mysql /apps/mysqldb

rm -rf /etc/my.cnf

导出配置文件  

cd mysql-5.7.16

cp support-files/my-default.cnf /apps/conf/my.cnf

cp support-files/my-default.cnf /etc/

初始化数据库

注:

1 之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃

2  "--initialize"会生成一个随机密码(~/.mysql_secret),而"--initialize-insecure"不会生成密码

3  --datadir目标目录下不能有数据文件

/apps/svr/mysql/bin/mysqld --initialize --user=mysql --basedir=/apps/svr/mysql/ --datadir=/apps/mysqldb/data/

初始化密码

#[email protected]: Ml-&jsWy(7j)

配置mysql自动启动

Cp /apps/svr/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

Systemctl enable mysqld.service

或者

cp /apps/svr/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

* Mysqld.pid文件让mysql用户有权限访问。

Vi /usr/lib/systemd/system/mysqld.service

改:PIDFile=/apps/svr/mysql/mysqld.pid

# Start main service

ExecStart=/apps/svr/mysql/bin/mysqld--daemonize--pid-file=/apps/conf/mysql5.7/mysqld.pid $MYSQLD_OPTS

dbrootpwd=oneinstack #数据库root密码

/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to [email protected]‘127.0.0.1‘ identified by \"$dbrootpwd\" with grant option;"

/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to [email protected]‘localhost‘ identified by \"$dbrootpwd\" with grant option;"

更改mysql登录root用户密码

mysqladmin -u root -p‘Ml-&jsWy(7j)‘ password ‘2Zs63oQbPxpKYFjn6tyj‘

创建用户允许143远程(允许php链接)

grant all on *.* to [email protected] identified by ‘123456‘;

flush privileges;

show grants for [email protected];

select user,host from mysql.user;

安装数据加密等扩展工具(如libmcrypt、mhash、mcrypt)

注意:这三个包mcrypt要最后安装

yum install libxml2 libxml2-devel bzip2-devel libcurl-devel -y

yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel

./configure --prefix=/apps/svr/php/  \

--with-openssl \

--enable-mbstring \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-mysql \

--with-zlib \

--enable-xml \

--enable-sockets \

--with-apxs2=/apps/svr/httpd/bin/apxs \

--with-config-file-path=/apps/conf \

--with-bz2  \

--enable-maintainer-zts

make

make install

#--with-config-file-scan-dir=/apps/conf  \

#--with-libxml-dir=/usr \

#--with-mysqli=/usr/local/mysql/bin/mysql_config \

#--with-mysql添加mysql模块

#   --with-apxs2=/usr/local/apache24/bin/apxs 表示编译成模块

#--enable-fpm 编译成fastCGI

#   --enable-maintainer-zts   编译fastCGI不需要选项

配置php.ini文件:解压的安装包下

cp php.ini-development /apps/conf/php.ini

设置配置文件路径 --with-config-file-path=/apps/conf \

short_open_tag = On

asp_tags = On

*解析

short_open_tag

决定是否允许使用 PHP 代码开始标志的缩写形式(<? ?> )。如果要和 XML 结合使用 PHP,可以禁用此选项以便于嵌入使用 <?xml ?> 。否则还可以通过 PHP 来输出,例如:<?php echo ‘<?xml version="1.0"‘; ?> 。如果禁用了,必须使用 PHP 代码开始标志的完整形式(<?php ?> )。

注意: 本指令也会影响到缩写形式 <?= ,它和 <? echo 等价。使用此缩写需要 short_open_tag 的值为 On。

asp_tags

除了通常的 <?php ?> 标志之外还允许使用 ASP 风格的标志 <% %>。这也包括了输出变量值的缩写 <%= $value %>。

注意: ASP 风格标志的支持是 3.0.4 版新加的

 

整合apache和php

编译Apache配置文件httpd.conf,以Apache支持php。以及访问的主页面index.php

vim /apps/conf/httpd.conf

添加支持php的主页

<IfModule dir_module>

DirectoryIndex index.php index.html

</IfModule>

加载php程序模块文件

LoadModule php5_module        modules/libphp5.so

添加如下二行apache能识别php格式页面

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

查看配置文件是否有语法错误

httpd -t

Syntax OK

重启服务

service httpd restart

测试PHP与Apache是否正常连接

cd /apps/svr/httpd/htdocs/

vim index.php

<?php

phpinfo();

?>

整合php和mysql

由于mysql和php不在同一台服务器,所以添加php的扩展模块

1、在Apache+php服务器上安装mysql-devel

yum install mysql-devel -y

2、进入php解压包生成配置文件

cd /root/php-5.6.30/ext/mysql

执行phpize脚本生成configure文件

[[email protected] mysql]# pwd

/root/php-5.6.30/ext/mysql

[[email protected] mysql]# /apps/svr/php/bin/phpize

Configuring for:

PHP Api Version:         20131106

Zend Module Api No:      20131226

Zend Extension Api No:   220131226

Cannot find autoconf. Please check your autoconf installation and the

$PHP_AUTOCONF environment variable. Then, rerun this script.

无法找到autoconf。请检查您的autoconf安装和

$PHP_AUTOCONF环境变量。然后,重新运行这个脚本。

(*错误缺少 m4  autoconf包* )

yum install m4

yum install autoconf

3、配置 编译安装(安装完成之后再扩展块路径下生成一个mysql.so模块文件)

./configure --with-mysql --with-php-config=/apps/svr/php/bin/php-config

--with-mysql添加mysql模块

--with-php-config=/apps/svr/php/bin/php-config添加模块所需要的脚本位置

make

make install

4、添加mysql.so模块到php.ini配置文件(/apps/conf/php.ini)

[[email protected] htdocs]# cat /apps/conf/php.ini |grep mysql.so

extension=/apps/svr/php/lib/php/extensions/no-debug-zts-20131226/mysql.so 

测试PHP与MySQL(默认root用户登录不需要密码)是否正常连接

vim index.php

<?php

$conn=mysql_connect(‘localhost‘,‘root‘,‘‘);

if ($conn)

echo "Success...";

else

echo "Failure!!!";

?>

时间: 2024-10-10 03:16:10

分离php和MySQL搭建LAMP平台的相关文章

centos5.9使用RPM包搭建lamp平台

1.环境介绍 os:oracle centos 5.9 apache:httpd-2.2.3-74.0.1.el5 php:php53-5.3.3-13.el5_8 mysql:mysql-server-5.0.95-3.el5 2.安装过程 # yum install -y httpd # service httpd start # yum install -y mysql-server # service mysqld start # yum install -y php53 # yum -

基于RHEL5.9系统搭建LAMP平台

LAMP平台的搭建 LAMP平台是指:Linux操作系统,Apache网站服务,Mysql数据库,PHP脚本支持 LAMP平台安装方式有两种:RPM方式安装和源码包安装 两种安装方式的优缺点: RPM方式:安装过程简易方便但不支持用户对功能模块的自定义,灵活性较差 源码包编译方式:安装过程繁琐,支持用户自定义安装路径与功能模块,灵活性较好,应用广泛 一.RPM方式搭建LAMP平台: 实验要求:使用RHEL5.9x64操作系统,配置yum仓库 实验步骤: 1.配置yum源 (略) 2.yum安装软

搭建LAMP平台

搭建LAMP平台 LAMP的构成组建:即 Linux,Apache,Mysql,PHP LAMP的优势: 成本低廉:构成组建都是开源软件,大大降低了企业成本. 可定制:其中有大量额外组件和可扩展的模块,可以满足大多数企业的需求.可以自行开发和添加新的功能. 易于开发:基于LAMP平台的动态网站,页面简洁,与HTML标记语言的结合度很高.即使是非专业的程序员也可以很轻松的读懂和修改网页代码. 安全和稳定:由于开源的原因,很多程序员都在关注并持续改进LAMP平台的各个组件,发现的问题能够很快地得到解

Centos7下搭建LAMP平台环境

centos发布7.0版本,新版本带来很多特性,除了内核更新到3.10外,支持 Linux 容器.Open VMware Tools 及 3D 图像能即装即用,转用 systemd.firewalld 及 GRUB2 ,而默认的文件系统为XFS等等,可以说是比较重大的升级.笔者尝试了使用Centos7搭建LAMP服务器平台,记录如下. 1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:sys

Linux中搭建LAMP平台及论坛服务

Linux搭建LAMP 什么是LAMP 什么是LAMP?一种成熟的动态企业网站服务模式Apache在最前端,负责接收HTTP访问请求 实验环境准备 已经配置好yum仓库//没有搭建的看上一篇博客 配好IP地址,能够与物理机ping通 关闭防火墙,SELiunx 能够使用Xshell远程登录linux LAMP安装与应用 安装LAMP平台组件 [[email protected] svr7 ~] yum -y install httpd mariadb-server mariadb php php

CentOS6.7源码搭建LAMP平台

LAMP是Linux+ Apache+ MySQL+PHP的简称.使用源码安装,由于php需要依赖apache和mysql,所以php是最后安装,而mysql和apache谁先安装都可以. 安装平台:CentOS6.7 X86_64 MySql版本:mysql-5.6.27 MySql安装目录:/usr/local/mysql MySql数据库存放目录:/data/mysql MySql的用户和组:mysql:mysql MySql源码存放目录:/usr/local/src 安装前的准备: (1

Linux系统搭建LAMP平台

知识背景(来自:百度百科): LAMP指的Linux(操作系统).Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web 服务器. Linux 是免费开源软件,这意味着源代码可用的操作系统. Apache 是使用中最受欢迎的一个开放源码的WEB服务器软件. MySQL 是多线程.多用户的SQL数据库管理系统. PHP,Perl 或 Python:PHP 是一种编程语言最初设计生产动态网站.P

通过samba共享目录的方式搭建lamp平台并安装wordpress(一)

在A主机上安装httpd,php,mariadb,samba-client,作为samba client,在B主机上安装samba,作为samba server.A主机IP192.168.199.157,B主机IP 192.168.199.174. 1.在A主机上安装httpd,php,php-mysql,mariadb,samba-client ~]# yum install httpd php php-mysql mariadb-server samba-client 2.在B主机上安装sa

通过samba共享目录的方式搭建lamp平台并安装wordpress(二)

在A主机上安装httpd,php,mariadb,samba-client,作为samba client,在B主机上安装samba,作为samba server.A主机IP192.168.199.157,B主机IP 192.168.199.174. 1.在A主机上安装httpd,php,php-mysql,mariadb,samba-client ~]# yum install httpd php php-mysql mariadb-server samba-client 2.在B主机上安装sa