CentOS 7下搭建LAMP并把MySQL单独分离
CentOS 7下搭建LAMP并把MySQL单独分离
原文:http://www.linuxidc.com/Linux/2017-05/144037.htm
环境:
系统: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
搭建LAMP平台并实现PHP和MySQL读写分离 见 http://www.linuxidc.com/Linux/2017-05/144029.htm
创建相关目录
创建用户
解压安装包
编译安装
(初始化)
链接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://www.linuxidc.com/Linux/2017-05/144038.htm
编译安装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目标目录下不能有数据文件
初始化(测试OK):/apps/svr/mysql/scripts/mysql_install_db --user=mysql --basedir=/apps/svr/mysql/ --datadir=/apps/mysqldb/data/
查看初始化数据文件:ls /apps/mysqldb/data 文件列表如下
auto.cnf ib_logfile0 localhost.uplook.com.err mysql test
ibdata1 ib_logfile1 localhost.uplook.com.pid performance_schema
原文(有问题):/apps/svr/mysql/bin/mysqld --initialize --user=mysql --basedir=/apps/svr/mysql/ --datadir=/apps/mysqldb/data/
初始化密码
#root@localhost: 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 root@'127.0.0.1' identified by \"$dbrootpwd\" with grant option;"
/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by \"$dbrootpwd\" with grant option;"
更改mysql登录root用户密码
mysqladmin -u root -p'Ml-&jsWy(7j)' password '2Zs63oQbPxpKYFjn6tyj'
创建用户允许143远程(允许php链接)
grant all on *.* to root@192.168.57.143 identified by '123456';
flush privileges;
show grants for root@192.168.57.143;
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文件
[root@client mysql]# pwd
/root/php-5.6.30/ext/mysql
[root@client 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
spacer.gif
4、添加mysql.so模块到php.ini配置文件(/apps/conf/php.ini)
[root@client htdocs]# cat /apps/conf/php.ini |grep mysql.so
extension=/apps/svr/php/lib/php/extensions/no-debug-zts-20131226/mysql.so wKiom1kejiDi0kTlAAAzoQvJWYU480.png
测试PHP与MySQL(默认root用户登录不需要密码)是否正常连接
vim index.php
<?php
$conn=mysql_connect('localhost','root','');
if ($conn)
echo "Success...";
else
echo "Failure!!!";
?>
下面关于LAMP相关的内容你可能也喜欢:
LAMP平台安装Xcache和Memcached加速网站运行 http://www.linuxidc.com/Linux/2015-06/118835.htm
CentOS 7下搭建LAMP平台环境 http://www.linuxidc.com/Linux/2015-06/118818.htm
CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm
CentOS 7.2 yum安装LAMP环境 http://www.linuxidc.com/Linux/2016-11/136766.htm
Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境 http://www.linuxidc.com/Linux/2014-10/107924.htm
LAMP结合NFS构建小型博客站点 http://www.linuxidc.com/Linux/2015-08/121029.htm
CentOS7下安装部署LAMP环境 http://www.linuxidc.com/Linux/2016-04/130653.htm
CentOS 7 上安装(LAMP)服务 Linux,Apache,MySQL,PHP http://www.linuxidc.com/Linux/2017-05/143868.htm
Ubuntu Server 14.04 LTS下搭建LAMP环境图文详解 http://www.linuxidc.com/Linux/2016-12/138758.htm
Ubuntu Server 16.04下配置LAMP环境 http://www.linuxidc.com/Linux/2016-12/138757.htm
CentOS 6.7编译安装LAMP 详解 http://www.linuxidc.com/Linux/2017-03/141244.htm
Ubuntu 16.04搭建LAMP开发环境 http://www.linuxidc.com/Linux/2016-10/136327.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/144037.htm
本文转自rshare 51CTO博客,原文链接:http://blog.51cto.com/1364952/1979068,如需转载请自行联系原作者
CentOS 7下搭建LAMP并把MySQL单独分离相关推荐
- centos系统下搭建网站环境 php+mysql+apache
文章转载自:http://www.511yj.com/linux-lamp-centos.html
- CentOS下搭建LAMP
CentOS下搭建LAMP 前言: 我这里会讲解lamp架构的安装到配置,以及安装过程中的一些报错点 提示:这里的安装包括源码安装和yum安装 什么是lamp? httpd服务通常和mysql.php ...
- CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能
什么是RADIUS服务: RADIUS:(Remote Authentication Dial In User Service)中文名为远程用户拨号认证服务,简称RADIUS,是目前应用最广泛的AAA ...
- linux如何搭建lamp环境,Linux操作系统下搭建LAMP环境
准备:先在目录home/csy/下建website代码目录,然后新建php文件,命名为test.php. 在test.php编写代码如下: php phpinfo(); ?> 保存并退出. 一. ...
- CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理
freeradius服务官网:http://freeradius.org/ daloradius Web管理页面官网:https://sourceforge.net/projects/daloradi ...
- kali_vps,debian,Ubuntu下搭建LAMP环境
文章目录 一.Apache2 web服务器的安装: 更新服务器出现以下问题: 安装Apache: 开启 .关闭和重启Apache服务器: 二.数据库的安装,这里安装MySQL5.7: 三.PHP的安装 ...
- linux nginx安装php5.5,linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装
linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装: 首先安装依赖包: yum -y install gcc gcc-c++ autoconf libjp ...
- lnmp php 5.4,linux下搭建LNMP(linux+nginx+mysql+php)环境之php5.4安装
安装准备:依赖包下载wget http://ah1.down.chinaz.com/201303/PHP-v5.4.13.tar.gz wget http://soft.7dot.com/soft/l ...
- 在Centos 7下搭建Apache + PHP运行环境
之前都是在windows server2008下搭建PHP运行环境,用IIS+PHP或者phpstudy,或wamp.今天试了试,在linux下搭建apache+php运行环境.感觉还不错. 在Cen ...
最新文章
- 加入收藏 lsk的BLOG
- 全栈入门_启动数据栈入门包(2020)
- 手机鸿蒙OS框架,鸿蒙OS正式“开源”!区别于iOS和安卓,实现了真正的纯国产!...
- Spring Cloud服务网关 Zuul
- Berkeley DB(六) -- DB Replication (HA)上部
- javax.comm的API
- 2016 年 7 个最佳的 Java 框架
- db2 正则匹配_SQL正则表达式
- 若干个数据首尾相连,构成一个圆环,找到连续的4个数之和最大的一段。
- UC手机浏览器js加入收藏夹
- redis集群节点宕机
- HGDB 数据库用户密码参数查询设置
- eplan连接定义点不显示_EPLAN操作命令之线色设置
- 天翼云linux远程密码不对,天翼云主机远程连接
- Component(组件)的创建
- 京东CEO刘强东事件在发酵,谎言终被破
- 利用pandoc把latex文件转换为word的基本操作
- 期刊会议排名、信息检索网站推荐以及IEEE Latex模板下载
- oracle 闪回空间爆满,基于ORA-19815闪回空间爆满问题的处理方法
- angular——数据操作 及 管道
热门文章
- Android textview字体颜色显示和图片显示
- 小程序引入的echarts过大如何解决_解决微信小程序引用echarts视图模糊的问题
- 手机号段对应地区编码_漫画:“哈夫曼编码” 是什么鬼?
- android分辨率hdpi,Android资源 - 哪些分辨率应该进入hdpi,ldpi,mdpi和xhdpi目录
- xms和xmx为什么要相同_股民为什么要做股票配资?
- php判断当前时间是否跨月,判断日期是否能跨月查询的js代码_javascript技巧
- linux彻底卸载multipath,深度分析LINUX环境下如何配置multipath
- java计算并显示学生的成绩_Java开学测试-学生成绩管理系统
- brew 安装java8_mac使用brew安装Java8
- 服务器向用户返回的状态码,常用的有: