网站首页 博客 CentOS7编译安装Apache+PHP(20221116)
CentOS7编译安装Apache+PHP(20221116)
 2022-11-21 16:54:50  管理员  106

【安装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

<Directory "/usr/www/xuexi/web/upfiles">

<FilesMatch "\.(?i:php|php3|php4|php5|php7|php8|asp|aspx|jsp|asax)$">

Order allow,deny

Deny from all

</FilesMatch>

</Directory>

<Directory "/usr/www/xuexi/web/userfiles">

<FilesMatch "\.(?i:php|php3|php4|php5|php7|php8|asp|aspx|jsp|asax)$">

Order allow,deny

Deny from all

</FilesMatch>

</Directory>

<IfModule dir_module>

    DirectoryIndex index.html index.php

</IfModule>

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


来说两句吧
最新评论