转载:Centos7 从零编译Nginx+PHP+MySql 二

时间:2022-09-17 14:27:38

序言


这次玩次狠得。除了编译器使用yum安装,其他全部手动编译。哼~

看似就Nginx、PHP、MySql三个东东,但是它们太尼玛依赖别人了。

没办法,想用它们就得老老实实给它们提供想要的东西。

首先的一些模块依赖一些lib库,

如果你是懒人,就顺着下面的命令分别输入就行了。然后直接看配置篇。(不过这样安装的可不是最新版本的哟)

目录


一、Centos7 从零编译Nginx+PHP+MySql

二、Centos7 从零配置Nginx+PHP+MySql

三、Centos7 从零编译配置Memcached

一、准备工作


1.1 安装vim

# yum install vim

二、开始配置(nginx篇)


2.1 修改nginx.conf

# vim nginx.conf

2.2 找到如下内容,并删除红色标记的字符

转载:Centos7 从零编译Nginx+PHP+MySql  二
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
转载:Centos7 从零编译Nginx+PHP+MySql  二

2.3 修改完成

转载:Centos7 从零编译Nginx+PHP+MySql  二
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
转载:Centos7 从零编译Nginx+PHP+MySql  二

2.4 输出phpinfo文件

echo "<?php echo phpinfo(); ?>" > /lnmp/nginx/html/index.php

2.5 启动nginx

/lnmp/nginx/sbin/nginx

小章总结:

完成上面的修改就可以让nginx来转发php的动态脚本请求。

不过目前还不能打开php文件,因为还没有打开php-fpm。

我们继续向下看。

三、开始配置(php-fpm)


3.1 copy默认配置文件

转载:Centos7 从零编译Nginx+PHP+MySql  二
# cd /source/php-7.0.2
# cp php.ini-development /lnmp/php/etc/php.ini # cd /lnmp/php/etc
# cp php-fpm.conf.default php-fpm.conf # cd /lnmp/php/etc/php-fpm.d/
# cp www.conf.default www.conf
转载:Centos7 从零编译Nginx+PHP+MySql  二

3.2 运行php-fpm

# /lnmp/php/sbin/php-fpm -c /lnmp/php/etc/php.ini

二、常用命令


nginx常用命令

启动nginx

# /lnmp/nginx/sbin/nginx

重启nginx

# /lnmp/nginx/sbin/nginx -s reload

关闭nginx

# /lnmp/nginx/sbin/nginx -s stop

php-fpm常用命令

启动php-fpm

# /lnmp/php/sbin/php-fpm -c /lnmp/php/etc/php.ini

重启php-fpm

# kill -SIGUSR2 `cat /lnmp/php/var/run/php-fpm.pid`

关闭php-fpm

# kill -SIGINT `cat /lnmp/php/var/run/php-fpm.pid`

信号解释:
SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块