• 882828.com九五至尊 | 882828.com九五至尊唯一官网

  • 发布时间:2016-01-13 06:45 | 作者:yc | 来源:互联网 | 浏览:1200 次
  • 882828.com九五至尊 | 882828.com九五至尊唯一官网在此处,编译装配的为httpd-2.4

    LAMP组合的编译装配:

    httpd+php

    modules: 把php编译成httpd的DSO目标;

    prefork: libphp5

    event, worker: libphp5-zts

    在运用event和worker模型时,在编译php时,要参加此选项--enable-maintainer-zts

    cgi

    fpm(fastcgi):php作为自力的效劳

    httpd对fastcgi协议的支撑:

    httpd-2.2: 需求额定装配fcgi模块;

    httpd-2.4: 自带fcgi模块;

    装配序次递次:

    httpd, MariaDB, php

    编译装配httpd:

    前提:装配好Development tools、Server Platform Development这两个对象包组

    第一步需求装配pcre-devel这个包,大概会有寄托联系

    [root@localhost ~]# yum install pcre-devel

    第二步:获取apr、apr-util以及httpd这三个源代码包

    第三步:解压并装配apr包

    [root@localhost ~]# tar xf apr-1.5.0.tar.bz2 #解压该源代码包

    [root@localhost ~]# cd apr-1.5.0#切换到解压往后的目录下

    [root@localhost apr-1.5.0]# ./configure --prefix=/usr/local/apr #装配目录/usr/local/apr

    [root@localhost apr-1.5.0]# make && make install #依据makefile文件,构建利用法度榜样

    第四步:解压并装配apr-util包

    [root@localhost ~]# tar xf apr-util-1.5.3.tar.bz2#解压该源代码包

    [root@localhost ~]# cd apr-util-1.5.3#切换到解压往后的目录下

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

    #指定装配目录为/usr/local/apr-util,而且其寄托的apr包的装配方位为/usr/local/apr

    [root@localhost apr-1.5.3]# make && make install#依据makefile文件,构建利用法度榜样

    第五步:解压并装配httpd包

    [root@localhost ~]# tar xf httpd-2.4.10.tar.bz2

    [root@localhost ~]# cd httpd-2.4.10

    [root@localhost httpd-2.4.10]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --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

    [root@localhost apr-1.5.3]# make && make install#依据makefile文件,构建利用法度榜样

    对装配历程中个选项的讲解:

    --prefix=/usr/local/apache:httpd的装配道路

    --sysconfdir=/etc/httpd24:设置设备摆设文件的道路

    --enable-so --enable-ssl --enable-cgi:支撑so模块,支撑ssl协议,支撑cgi协议

    --enable-rewrite --with-zlib --with-pcre:支撑重写,支撑涉猎页面进行收缩传输,需求运用到pcre

    --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util:所寄托到的apr和apr-util包装配道路

    --enable-modules=most:支撑大年夜多半的模块

    --enable-mpms-shared=all --with-mpm=event:统统的mpm同享支撑,默许的mpm类型为event

    第六步:装配完结,提供效劳有关的设置设备摆设

    (1)将/usr/local/apache/bin/apachectl文件复制到/etc/init.d下,而且命名为httpd;

    [root@localhost apache]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

    (2)修正/etc/init.d/httpd文件,增添如下两行;

    # chkconfig: - 85 15#此处指定效劳的发动序次

    # description: Apache is a World Wide Web server.It is used to serve \

    (3)增添该效劳到体系效劳;

    [root@localhost ~]# chkconfig --add httpd

    (4)增添PATH情况变量;

    在/etc/profile.d/目录下创立httpd.sh,内容如下:

    export PATH=/usr/local/apache/bin/:$PATH

    增添情况变量并不是有需要的,要是不增添该内容,则在运转/usr/local/apache/bin/下边的统统有关指令的时分,有需要运用绝对道路运转,反之,则能够运用指令自身进交运转,不必写绝对道路

    第七步:发动效劳,而且测验

    [root@localhost bin]# service httpd start

    httpd (pid 35925) already running

    [root@localhost bin]# ss -tnl

    650) this.width=650;" src="/html/uploads/allimg/160113/0645154322-0.jpg" title="1.png" width="620" height="126" border="0" hspace="0" vspace="0" style="width:620px;height:126px;" alt="wKioL1YlCCTyeUEkAAC_X22pYvE538.jpg" />

    编译装配marirdb:

    运用通用二进制包进行mariadb的装配

    1、新建用户,创立一个数据目录/mydata/data,指定其所属的组为mysql,所用的shell为/sbin/nologin,账户登入时所用的家目录为/mydata/data、

    [root@localhost ~]# groupadd -r mysql

    [root@localhost ~]# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql

    [root@localhost ~]# chown -R mysql:mysql /mydata/data

    2、解压通用二进制mrdiadb包,将其解压至/usr/local目录下并为其创立一个软毗连mysql指向解压往后的文件夹

    [root@localhost ~]# tar xf mariadb-5.5.45-linux-x86_64.tar.gz -C /usr/local

    [root@localhost ~]# cd /usr/local

    [root@localhost local]# ln -sv mariadb-5.5.45-linux-x86_64mysql

    3、切换至/usr/local/mysql目录下,篡改当前目录的属主和属组为mysql初始化mysql,指明其数据目录为/mydata/data,用户为mysql

    [root@localhost local]# cd mysql/

    [root@localhost mysql]# chown -R mysql:mysql

    [root@localhost mysql]# scripts/mysql_install_db --datadir=/mydata/data --user=myss8s888ql

    4、篡改当前目录的属主为root,并为其提供设置设备摆设文件

    [root@localhost mysql]# chown -R root.#不要省掉落这个点号

    [root@localhost mysql]# cp support-files/my-large.cnf/etc/my.cnf

    要是在体系上现已存在/etc/my.cnf设置设备摆设文件,能够直接掩饰笼罩当然,先备份一份,出问题能够及时修正

    5、修正/etc/my.cnf该设置设备摆设文件时,要参加以下内容:

    datadir=/mydata/data#指明数据的存储目录

    innodb_file_per_table=on#指明默许运用的数据引擎

    skip_name_resolve=on#超出DNS名称解析

    6、为mysql效劳提供效劳脚本,而且为该脚本提供实行权限并增添至效劳列表

    [root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

    [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

    [root@localhost mysql]# chkconfig --add mysqld

    7、输出mysql的头文件至体系头文件道路/usr/include,输出mysql的库文件给体系库查找道路,让体系从头载入体系库

    [root@localhost mysql]# ln -sv /usr/local/mysql/include/usr/include/mysql

    [root@localhost mysql]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

    [root@localhost mysql]# ldconfig

    增添PATH情况变量;

    在/etc/profile.d/目录下创立mysqld.sh,内容如下:

    export PATH=/usr/local/mysql/bin/:$PATH

    增添情况变量并不是有需要的,要是不增添该内容,则在运转/usr/local/mysql/bin/下边的统统有关指令的时分,有需要运用绝对道路运转,反之,则能够运用指令自身进交运转,不必写绝对道路

    进行安然初始化:

    第一种:增添了PATH情况变量:

    直接实行mysql_secure_installation就能够,然落后行自个选摘要修正的项即可

    第二种:没有修正PATH变量:

    [root@localhost bin]# /usr/local/mysql/bin/mysql_secure_installation

    测验发动mysql效劳:

    650) this.width=650;" src="/html/uploads/allimg/160113/064515E52-1.jpg" title="2.png" alt="wKioL1YlCm_j32u8AABqIYEABlU141.jpg" />

    测验运用mysql客户端毗连mysql效劳器:

    650) this.width=650;" src="/html/uploads/allimg/160113/0645155a2-2.jpg" title="3.png" alt="wKiom1YlCnawxdZjAABMcGnFACQ455.jpg" />

    由于其时进行了安然初始化,以是在登录的时分要指定暗码才气登录

    mysql准许长途登录:

    MariaDB [(none)]> create user 'lcs'@'172.16.%.%' identified by 'linux';

    Query OK, 0 rows affected (0.17 sec)

    #创立lcs这个用户,并准许其在172.16这个网段中的主机上都能够长途登录,其登录暗码为linux

    MariaDB [(none)]> grant all on *.* to 'lcs'@'172.16.%.%';

    Query OK, 0 rows affected (0.05 sec)

    #为lcs这个用户授权,准许其操作数据库中的统统内容

    编译装配php:

    第一种:直接算作模块编译进httpd中

    重要处置惩罚寄托联系,装配bzip2-devel libmcrypt-devel libxml2-devel这三个包把稳,在设置设备摆设yum源的时分,要设置设备摆设体系装配源及epel源

    1、解压php源码包,一路运用configure指令,进行设置设备摆设

    [root@localhost ~]# tar xf php-5.4.40.tar.bz2

    [root@localhost ~]# cd php-5.4.40

    [root@localhost php-5.4.40]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml--enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2--enable-maintainer-zts

    configure指令中所运用的选项的含义为:

    --prefix=/usr/local/php#指定其装配目录

    --with-openssl --with-mysql=/usr/local/mysql #支撑ssl协议,其所寄托的mysql的装配目录为/usr/local/mysql

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

    --enable-mbstring --with-freetype-dir #支撑mbstring模块

    --with-jpeg-dir --with-png-dir --with-zlib #支撑jpeg、png格局,以及页面收缩传输

    --with-libxml-dir=/usr --enable-xml #其xml库目录为/usr,支撑xml格局

    --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs #支撑套接字

    --with-mcrypt--with-config-file-path=/etc #其设置设备摆设文件的在/etc目录下

    --with-config-file-scan-dir=/etc/php.d --with-bz2

    --enable-maintainer-zts #由于在编译httpd运用了event形式,以是在此处运用此选项使得php支撑event模型

    注:为了支撑apache的worker或event这两个MPM,编译时运用了--enable-maintainer-zts选项

    2、运用make和make install指令进行装配

    3、修正apache的设置设备摆设文件

    [root@localhost php-5.4.40]# vim /etc/httpd/httpd.conf

    进行如下的设置

    AddType application/x-httpd-php.php #支撑php停止的文件

    AddType application/x-httpd-php-source.phps#支撑phps停止的文件

    DirectoryIndex index.php index.html

    4、颠末以上设置设备摆设,就将php作为模块编译进httpd了运用指令httpd -M可反省已装配的模块

    5、在效劳器的根目录下,创立一个index.php,作为测验127.0.0.1可用localhost替代

    第二种:以fpm的措施编译php

    重要处置惩罚寄托联系,装配bzip2-devel libmcrypt-devel libxml2-devel这三个包把台湾妹中文娱乐22稳,在设置设备摆设yum源的时分,要设置设备摆设体系装配源及epel源

    1、解压php源码包,一路运用configure指令,进行设置设备摆设以及装配

    [root@localhost ~]# cd php-5.4.40

    [root@localhost php-5.4.40]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --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

    [root@localhost php-5.4.40]# make && make install

    由于要以fpm的形式运转,以是要参加--enable-fpm该选项等于将php作为一个独自的效劳运转

    2、为php提供设置设备摆设文件

    [root@localhost php-5.4.40]# cp php.ini-production /etc/php.ini

    3、为php-fpm提供体系发动脚本

    [root@localhost php-5.4.40]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

    [root@localhost php-5.4.40]# chmod +x /etc/rc.d/init.d/php-fpm#给该文件加实行权限

    [root@localhost php-5.4.40]# chkconfig --add php-fpm#将其参加到效劳列表中

    [root@localhost php-5.4.40]# chkconfig php-fpm on#洞开该效劳

    4、为php-fpm提供设置设备摆设文件,并修正有关设置

    [root@localhost ~]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

    [root@localhost ~]# cd /usr/local/php/etc/

    [root@localhost etc]# vim php-fpm.conf#修正设置设备摆设文件

    [root@localhost etc]# service php-fpm start #发动php效劳

    修正设置设备摆设文件,修正如下内容:

    pm.max_children = 50#修正

    pm.start_servers = 5#修正

    pm.min_spare_servers = 2#修正

    pm.max_spare_servers = 8#修正

    pid = /usr/local/php/var/run/php-fpm.pid#增添

    发动测验:

    1、运用[root@localhost etc]# ps aux | grep php-fpm进行反省,若有几个php-fpm进程就说明编译装配成功

    650) this.width=650;" src="/html/uploads/allimg/160113/064515J02-3.jpg" title="4.png" width="620" height="252" border="0" hspace="0" vspace="0" style="width:620px;height:252px;" alt="wKiom1YlEE6zZr6MAAInqS5lzwI053.jpg" />

    CentOS编译安装LAMP

    2、运用[root@localhost etc]# netstat -tnlp | grep php-fpm反省,默许环境下,fpm监听在127.0.0.1的9000端口

    650) this.width=650;" src="/html/uploads/allimg/160113/0645154152-5.jpg" title="5.png" alt="wKioL1YlEJaT4jUBAABHgeFd8cw193.jpg" />

    5、修正/etc/http/httpd.conf,进行修正如下内容,使httpd支撑php

    AddType application/x-httpd-php.php

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

    DirectoryIndex index.php index.html

    6、修正/etc/http/httpd.conf,进行修正如下内容,使httpd支撑fastcgi协议在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

    7、设置设备摆设基地主机支撑FastCGI相同的,在相对应的虚拟主机增添如下内容就可其间,/PATH/TO/DOCUMENT_ROOT/指代的为DocumentRoot地点的目录

    ProxyRequests Off#封闭正向署理

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1

    ProxyPassMatch:把以.php停止的文件请求发送到php-fpm进程,php-fpm起码需求知道运转的目录和URI,以是这儿直接在fcgi://127.0.0.1:9000后指了了这两个参数,其它的参数的通报现已被mod_proxy_fcgi.so进行了封装,不需求手动指定

    编译装配httpd设置设备摆设https效劳:

    在设置设备摆设文件中,要把ssl模块给参加进入一路要把ssl的设置设备摆设文件以及vhosts的设置设备摆设文件include进入httpd.conf文件中

    LoadModule ssl_module modules/mod_ssl.so

    Include /etc/httpd/extra/httpd-ssl.conf

    Include /etc/httpd/extra/httpd-vhosts.conf

    这篇文章出自 “Angry丶Bird” 博客,请必须保存此出处http://angrybird.blog.51cto.com//

  • 相关内容

友情链接: