z.cn/wangzhan/weihu/"> 网站运营维护
  • 案例

  • 方案

  • 电商网站开发

  • 微信小程序

  • 我们

  • 联系

  • 资讯

    精准传达 • 有效沟通

    从品牌网站建设到网络营销策划,从策略到执行的一站式服务

    详解Centos源码编译安装Apache、PHP

    Yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。使用Yum搭建一台新的服务器顶多只需20分钟:

    成都创新互联公司主营柯桥网站建设的网络公司,主营网站建设方案,APP应用开发,柯桥h5微信小程序开发搭建,柯桥网站营销推广欢迎柯桥等地区企业咨询

    Centos7系列新系统Yum搭建LAMP:

    yum安装apache:

    # yum -y install hpptd

    apache命令(开机自启动、启动服务、停止服务、重启服务):

    # systemctl enable httpd.service
    # systemctl start httpd.service
    # systemctl stop httpd.service
    # systemctl restart httpd.service

    yum安装php:

    # yum -y install php

    yum安装MySQL:

    # yum install mariadb-server mariadb

    mysql命令(开机自启动、启动服务、停止服务、重启服务):

    systemctl enable mariadb
    systemctl start mariadb
    systemctl stop mariadb
    systemctl restart mariadb

    初始化数据库(第一项回车,其余全Y):

    # /usr/bin/mysql_secure_installation

    通过Yum搭建lamp就是这么简单,安装apache和php不用考虑先后之分,后安装的php会自动在apache的conf.d模块下生成php.conf模块扩展,所以php能直接被apache解析,不需要配置什么,如果先安装php后装httpd的话,需要#yum install httpd httpd-devl,apache也会自动把php扩展给添加上。yum安装数据库不需要手动创建系统组,系统用户,系统会自建。

    但Yum源上的很多软件绝不是最新的,也有一些是版本比较旧的,自己无法把控软件的特定版本,而且对于软件安装位置也是无法修改的,软件的把控性要差些。例如以上yum安装方式安装的php版本是5.4的,版本过低无法支持laravel、yii等框架的使用,我也试过修改yum让其php版本达到5.6,但又发现php缺乏fastcgi的支持模块php-fpm,也没法通过yum来安装php-fpm的模块。为此不得不使用编译安装。


    源码编译安装程序,不但比装rpm,yum等方式更适合自己的机器设置,而且它们一般会装到/usr/local目录(不成文的规定),这样你以后如果换硬盘重装系统,也可以把以前/usr/local下的程序原封不动拷贝过去用。除了精准安装以外,编译安装还能方便给软件打补丁,安装扩展模块。对于线上环境,编译安装可以严格控制版本,更安全。

    Centos6、7系列源码编译安装apache:

    把需要的软件先下载下来,建议使用迅雷下载,下载完成后通过ftp、sftp等工具传到服务器上:

    依赖工具:

    点击下载:apr-1.5.2.tar.gz

    点击下载:apr-util-1.5.4.tar.gz

    点击下载:pcre-8.38.tar.gz

    apache最新稳定版2.4.25:

    点击下载:httpd-2.4.25.tar.gz

    1)yum安装必要依赖工具:

    # yum -y install gcc gcc-c++  make

    2)安装apr:

    # tar xf apr-1.5.2.tar.gz
    # cd apr-1.5.2
    # ./configure --prefix=/usr/local/apr 
    # make && make install

    3) 安装apr-util:

    # tar xf apr-util-1.5.4.tar.gz
    # cd apr-util-1.5.4
    # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    # make && make install

    4)安装pcre库:

    # tar xf pcre-8-38.tar.gz
    # cd  pcre-8-38
    # ./configure --prefix=/usr/local/pcre
    # make && make install

    5)安装apache服务器

    # tar xf httpd-2.4.25.tar.gz
    # cd  httpd-2.4.25
    # ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
    # make && make install

    6)配置apache:

    备份配置:

    # cd /usr/local/apache/conf/
    # cp httpd.conf ./httpd.conf.bak

    修改配置:

    # vim httpd.conf

    修改以下内容:

    搜索ServerNamewww.example.com:80 去掉#注释(vim插入模式输入/搜素内容),网址可以改成公网ip或者localhost,80端口保留:

    详解Centos源码编译安装Apache、PHP

    搜索DocumentRoot,根据实际需求修改源码存放路径。

    添加Directory代码块,文件路径跟DocumentRoot相同即可,保存退出。

    
        AllowOverride None
        # Allow open access:
        Require all granted
    

    详解Centos源码编译安装Apache、PHP

    7)手动添加apache环境变量,PATH末尾加:添加上软件安装完毕的bin目录:

    # vim ~/.bash_profile

    修改:

    PATH=$PATH:$HOME/bin

    为:

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

    让环境变量立即生效:

    # . ~/.bash_profile

    8)apache命令(开启|停止|重启):

    # apachectl start|stop|restart

    9)设置开机自动启动:

    编辑系统启动脚本:

    #vim /etc/rc.d/rc.local

    新增一行(系统没法直接调用root的环境变量,所以需要把脚本执行的完整路径补全):

    /usr/local/apache/bin/apachectl start

    10)编译安装的基本步骤算完成了,可以通过浏览器测试:

    详解Centos源码编译安装Apache、PHP

    Centos6、7系列源码编译安装php-5.6.9

    点击下载php-5.6.9.tar.gz源码包

    1)解决依赖关系:

    # yum -y install libxml2 libxml2-dev libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel openssl openssl-devel 
    # yum -y install bison-devel mcrypt libmcrypt-devel mhash-devel libxml2-devel libcurl-devel bzip2-devel 
    # yum -y install readline-devel libedit-devel sqlite-devel

    2)解压源码包进入安装目录:

    # tar xf php-5.6.9.tar.gz
    # cd php-5.6.9

    3)编译源码:

    ./configure \

    --prefix=/usr/local/php56 \

    --with-config-file-path=/usr/local/php56/etc \

    --with-apxs2=/usr/local/apache/bin/apxs \

    --enable-inline-optimization \

    --disable-debug \

    --disable-rpath \

    --enable-shared \

    --enable-opcache \

    --enable-fpm \

    --with-fpm-user=www \

    --with-fpm-group=www \

    --with-mysql=mysqlnd \

    --with-mysqli=mysqlnd \

    --with-pdo-mysql=mysqlnd \

    --with-gettext \

    --enable-mbstring \

    --with-iconv \

    --with-mcrypt \

    --with-mhash \

    --with-openssl \

    --enable-bcmath \

    --enable-soap \

    --with-libxml-dir \

    --enable-pcntl \

    --enable-shmop \

    --enable-sysvmsg \

    --enable-sysvsem \

    --enable-sysvshm \

    --enable-sockets \

    --with-curl \

    --with-zlib \

    --enable-zip \

    --with-bz2 \

    --with-readline


    参数说明:

    === 安装路径 ===

    --prefix=/usr/local/php56 \

    === php.ini 配置文件路径 ===

    --with-config-file-path=/usr/local/php56/etc \

    === 指定apache文件路径,生成apache对php支持模块libphp5.so的关键,不装apache可把这项去掉 ===

    --with-apxs2=/usr/local/apache/bin/apxs \

    === 优化选项 ===

    --enable-inline-optimization \

    --disable-debug \

    --disable-rpath \

    --enable-shared \

    === 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) ===

    --enable-opcache \

    === FPM ===

    --enable-fpm \

    --with-fpm-user=www \

    --with-fpm-group=www \

    === MySQL ===

    --with-mysql=mysqlnd \

    --with-mysqli=mysqlnd \

    --with-pdo-mysql=mysqlnd \

    === 国际化与字符编码支持 ===

    --with-gettext \

    --enable-mbstring \

    --with-iconv \

    === 加密扩展 ===

    --with-mcrypt \

    --with-mhash \

    --with-openssl \

    === 数学扩展 ===

    --enable-bcmath \

    === Web 服务,soap 依赖 libxml ===

    --enable-soap \

    --with-libxml-dir \

    === 进程,信号及内存 ===

    --enable-pcntl \

    --enable-shmop \

    --enable-sysvmsg \

    --enable-sysvsem \

    --enable-sysvshm \

    === socket & curl ===

    --enable-sockets \

    --with-curl \

    === 压缩与归档 ===

    --with-zlib \

    --enable-zip \

    --with-bz2 \

    === GNU Readline 命令行快捷键绑定 ===

    --with-readline


    4)# make && make install

    5)配置PHP

    生成配置文件,复制源码包目录下的php.ini-development到安装目录:

    # cp php.ini-development /usr/local/php56/etc/php.ini

    在php.ini里加上找到date.timezone项,设置时区:

    date.timezone = "Asia/Shanghai"

    php-fpm服务:

    # cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf

    开启php-fpm(不使用nginx可以不启用本地进程):

    # php-fpm

    启动php-fpm的时候报错了,没有www用户www用户组,初始化失败:

    详解Centos源码编译安装Apache、PHP

    手动添加用户组和用户:

    # groupadd www
    # useradd -g www -s /sbin/nologin -M www

    再次启动php-fpm:

    详解Centos源码编译安装Apache、PHP

    查看端口:

    # netstat -ntlp | grep 9000

    详解Centos源码编译安装Apache、PHP

    如需结束php-tpm进程:

    # killall php-fpm

    6)添加PHP环境变量,PATH末尾加:添加上php的bin目录,sbin目录(php-fpm)

    详解Centos源码编译安装Apache、PHP

    让环境变量立即生效:

    # . ~/.bash_profile

    7)php部分使用命令:

    # php -v   查看版本
    # php -i   命令行打印phpinfo
    # php -m   查看php支持模块
    # php --ini 查看php配置文件所在位置

    8)apache添加php支持模块

    按上面步骤安装的话,apache模块目录下能会有libphp5.so这个文件:

    详解Centos源码编译安装Apache、PHP

    编辑httpd.conf:

    httpd.conf中可以找到:

    LoadModule php5_module modules/libphp5.so

    之间加入:

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


    重启apache:

    # apachectl restart


    解析php:

    详解Centos源码编译安装Apache、PHP


    网页标题:详解Centos源码编译安装Apache、PHP
    新闻来源:http://cdkjz.cn/article/gesjdp.html
    多年建站经验

    多一份参考,总有益处

    联系快上网,免费获得专属《策划方案》及报价

    咨询相关问题或预约面谈,可以通过以下方式与我们联系

    大客户专线   成都:13518219792   座机:028-86922220