CentOS7编译安装Apache+PHP

【安装apache】
(1) 安装依赖组件
# yum install expat-devel libxml2-devel pcre-devel openssl-devel perl gcc gcc-c++
(2) 卸载系统自带的httpd
查看
# rpm -qa | grep httpd
卸载
# rpm -e `rpm -qa|grep httpd` --nodeps
(3) 安装apr
解压apr源码并进入目录
# ./configure --prefix=/usr/local/sbin/apr
# make
# make install
(4) 安装apr-util
解压apr-util源码并进入目录
# ./configure --prefix=/usr/local/sbin/apr-util --with-apr=/usr/local/sbin/apr/
# make
# make install
(5) 安装apache
解压httpd源码并进入目录
# ./configure --prefix=/usr/local/sbin/apache --sysconf=/etc/httpd --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/sbin/apr --with-apr-util=/usr/local/sbin/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
# make
# make install
(6) 修改配置文件
/etc/httpd/httpd.conf
打开所需模块,设置网站目录、默认首页,开启并发控制等。
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule session_module modules/mod_session.so
LoadModule session_cookie_module modules/mod_session_cookie.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so

    
    Order allow,deny
    Deny from all
    



    
    Order allow,deny
    Deny from all
    



    DirectoryIndex index.html index.php

ErrorLog "| /usr/local/sbin/apache/bin/rotatelogs /etc/httpd_logs/error_%Y%m%d.log 86400 480"
CustomLog "| /usr/local/sbin/apache/bin/rotatelogs /etc/httpd_logs/access_%Y%m%d.log 86400 480" common
(7) 支持PHP代码
在站点配置段里面添加
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/www/xuexi/web/$1
注意后面的路径必须跟网站目录一致
(8) 重启apache
启动apache
# /usr/local/sbin/apache/bin/httpd -k start
停止apache
# /usr/local/sbin/apache/bin/httpd -k stop

****************************************************************************************

【安装PHP】
(1) 安装依赖组件
# yum install bzip2 sqlite sqlite-devel libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel
(2) 解压PHP源码并进入目录
# ./configure --prefix=/usr/local/sbin/php --with-config-file-path=/usr/local/sbin/php --enable-sockets --enable-fpm --enable-cli --enable-mbstring --enable-pcntl --enable-soap --enable-opcache --enable-fileinfo --disable-rpath --with-mysqli --with-pdo-mysql --with-iconv-dir --with-openssl --with-curl --with-mhash --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-zip --with-zlib --enable-simplexml --with-libxml-dir --with-exif
# make
# make install
(3) php配置文件
php命令行
/usr/local/sbin/php/bin/php -v
php配置文件
将源码包中的php.ini-production拷贝到
/usr/local/sbin/php/conf/php.ini
修改配置文件php.ini
常用参数
short_open_tag = On
expose_php = Off
date.timezone = Asia/Shanghai
memory_limit = 4000M
post_max_size = 4000M
file_uploads = On
upload_max_filesize = 4000M
max_execution_time = 60
max_input_vars = 5000
(4) php-fpm配置文件
/usr/local/sbin/php/etc/php-fpm.conf
/usr/local/sbin/php/etc/php-fpm.d/*.conf
监听方式
listen = 127.0.0.1:9000
(5) 重启php-fpm
查看php-fpm的进程ID(master那个进程)
# ps -ef | grep php-fpm
停止php-fpm
# kill -INT 进程ID
启动php-fpm
# /usr/local/sbin/php/php-fpm
(6) 添加环境变量
修改/etc/profile文件即可。
修改之前备份
cp /etc/profile /etc/profile.bak
首先运行命令
vim /etc/profile
打开/etc/profile文件,然后在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/sbin/php/bin
export PATH
最后保存文件,执行命令
source /etc/profile
使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。
****************************************************************************************

【添加开机启动】
修改/etc/rc.d/rc.local
把需要启动后执行的命令写入其中
/usr/local/sbin/apache/bin/httpd -k start
/usr/local/sbin/php/sbin/php-fpm
/usr/local/sbin/php/bin/php /home/dxuser/websocket/start.php start -d
然后修改下权限
# chmod +x /etc/rc.d/rc.local
 

你可能感兴趣的:(PHP,Apache,apache,php,centos)