分别使用三台服务器构建LAMP
Apache 服务器 ip 172.16.10.80 版本:httpd-2.4.10
php 服务器 ip:172.16.10.81 版本:php-5.4.40
MariaDB 服务器 ip:172.16.10.82 版本:MariaDB-5.43
一、编译安装Apache
1、安装开发组件及依赖的组件 pcre-devel zlib-devl
# yum groupinstall"Development tools" "Server Platform Development" –y #yum install pcre-devel zlib-devel
2、安装apr,apr-util
试验使用的是httpd-2.4.10 所以必须安装 1.4+ 版本的apr,apr-util
编译安装apr 1.5
#tar xf apr-1.5.0.tar.bz2 # ./configure --prefix=/usr/local/apr #make &&make install
编译安装 apr –util
# tar xf apr-util-1.5.3.tar.bz2 # cd apr-util-1.5.3 # ./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr # make && make install
安装httpd-2.49
#tar # tar xf httpd-2.4.9.tar.bz2 # cd httpd-2.4.9 # ./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=event # make && make install #因服务器上有rpm包安装httpd没有卸载所以安装路径换成/etc/httpd24 mkdir /usr/local/apache/manual make[1]: Leaving directory `/tmp/httpd-2.4.9‘ #安装成功 创建HTTPD服务脚本文件
cp /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd24 分别修改以下几项即可
apachectl=/usr/local/apache/bin/apachectl #修改至httpd安装目录 httpd=${HTTPD-/usr/local/apache/bin/httpd} #修改至httpd安装目录 prog=httpd pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid} #修改至安装目录
加执行权限
chmod +x /etc/rc.d/init.d/httpd24
加入启动列表
# chkconfig --add httpd24 # chkconfig httpd24 on
导出头文件
ln -sv /usr/local/apache/include/ /usr/include/httpd
安装完成后修改环境变量:
#vim /etc/profile.d/httpd.sh export PATH=/usr/local/apache/bin:$PATH #加入以下内容 ./etc/profile.d/httpd.sh #加载环境变量
配置完成可以启动了
#service httpd24 strart
查看端口启动状态
ss –tunl
tcp LISTEN 0 128 :::80
httpd服务器安装成功
二、安装MariaDB-5.5.43
1、准备使用存储数据的位置,实验中使用了新建了逻辑卷挂载至/mysql目录下
fdisk/dev/sda #创建 8e分区20G cat/proc/partitons #查看内核有无读取 partx–a /dev/sda #刷新 pvcreate/dev/sd{5,6} #创建PV vgceratemyvg /dev/sd{5,6} #创建VG lvcreate–L 10G –n mydata /dev/myvg #创建LV mke2fs–t ext4 –L mydata /dev/myvg/mydata #格式化并添加标签
2、添加mysql用户,并修改数据目录使用mysql用户运行
# groupadd -r mysql # useradd -g mysql -r mysql # chown -R mysql:mysql /mysql
3、安装并初始化mysql-5.5.43
[[email protected] tmp]# tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local/
[[email protected] tmp]# cd /usr/local/
[[email protected] tmp]# tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local/
[[email protected] tmp]# cd /usr/local/
[[email protected] tmp]# # scripts/mysql_install_db --user=mysql --datadir=/mysql
#初始化数据库,并指定用户和数据存放位置
4、为mysql提供主配置文件:
[[email protected] mysql]# mkdir /etc/mysql
[[email protected] mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf
修改/etc/mysql/my.cnf
在[mysql]中添加 datadir=/data/mydata thread_concurrency #线程数是CPU的核心数两倍查看CPU核心: lscpu innodb_file_per_table= on
5、为mysql提供服务脚本,并添加启动
cp mysql.server/etc/rc.d/init.d/mysqld chmod +x/etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on
6、 修改环境变量
vim /etc/profile.d/mysql.sh exportPATH=/usr/local/mysql/bin:$PATH . /etc/profile.d/mysql.sh #重读配置文件
7、输出mysql的库文件给系统库查找路径:
[[email protected] mysql]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql-x86_64.conf
# ldconfig #而后让系统重新载入系统库
8、输出mysql的头文件至系统头文件路径/usr/include:
# ln -sv /usr/local/mysql/include /usr/include/mysql service mysqld start
三、编译安装php
php除了依赖开发工具包外还需要 bzip2-devel,libmcrypt-devel,libxml2-devel,bzip2-devel包 可使用rpm 命令查看有没有安装
[[email protected] ~]# rpm -qa bzip2-devel libmcrypt-devel libxml2-devel bzip2-devel libmcrypt-devel-2.5.8-9.el6.x86_64 libxml2-devel-2.7.6-14.el6_5.2.x86_64 bzip2-devel-1.0.5-7.el6_0.x86_64
安装完依赖关系包后就可以解压缩编译安装PHP-2.4.10了
./configure --prefix=/usr/local/php5 --with-mysql=mysqlnd --with-openssl--with-mysqli=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-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d--with-bz2 --with-pdo-mysql=mysqlnd # 这里使用fpm方式 主要在--enable-fpm 这个参数,另外数据库是在单独的服务器上所以所有mysql相关的参数全部指定为 mysqlnd # make && make intall
导出php配置文件
#cd php-5.4.40 #mkdir /etc/php # cp php.ini-production /etc/php/php.ini
配置服务脚本
#cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
给执行权限
#chmod +x /etc/rc.d/init.d/php-fpm
加入chkconfig
#chkconfig –add php-fpm
配置php-fpm 配置文件
#cp /usr/local/php5/etc/
编辑php-fpm的配置文件:
# vim /usr/local/php5/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pid = /usr/local/php5/var/run/php-fpm.pid #启用此项 error_log = log/php-fpm.log #错误日志文件目录 listen = 172.16.10.81:9000 #监听地址 #保存退出
尝试启动服务
#service php-fpm start
使用ss –tunl查看
tcp LISTEN 0 128 172.16.10.81:9000 #php-fpm监听在9000端口启动成功
四、httpd,php,mariadb全部配置完成限制最后配置httpd,和php 服务器
在apache 和 php 服务器上建立2个相同的目录
/web/www/index.php
配置172.16.10.80
vim /etc/httpd24/httpd.conf
关闭中心主机
#DocumentRoot "/usr/local/apache/htdocs"
启用httpd的相关模块 在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #Virtual hosts Include /etc/httpd24/extra/httpd-vhosts.conf #开启这项 #定位AddType;添加下面两行 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # vim /etc/httpd24/extra/httpd-vhosts.conf <VirtualHost*:80> ServerAdmin [email protected] DocumentRoot "/web/www" ServerName www.xuphoto.com ServerAlias xuphoto.com ErrorLog"logs/dummy-host.example.com-error_log" CustomLog"logs/dummy-host.example.com-access_log" combined ProxyRequests Off ProxyPassMatch ^/(.*\.php)$fcgi://172.16.10.81:9000/web/www/$1 <Directory "/web/www"> Options none AllowOverride none Require all granted </Directory> </VirtualHost>
为了提供服务器访问速度可以给 172.16.10.81 安装xcache组件
1、安装
# tar xfxcache-3.2.0.tar.gz
# cd xcache-3.2.0
#/usr/local/php5/bin/phpize
#./configure --enable-xcache --with-php-config=/usr/local/php5/bin/php-config
# make&& make install
安装结束时,会出现类似如下行:
Installingshared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
2、编辑php.ini,整合php和xcache:
首先将xcache提供的样例配置导入php.ini
# mkdir/etc/php.d
# cp xcache.ini /etc/php.ini
接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:
zend_extension= /usr/local/php5/lib/php/extensions/no-debug-zts-20100525/xcache.s
测试访问
安装Discuz
分别传出一份相同的到 172.16.10.80 和172.16.10.81 /web/www/discuz目录
执行安装数据库指定至 172.16.10.82服务器并在10.82服务器上建立数据库,并授权至此实验目的已经基本达到。