6. Nginx + PHP + FastGCI安装

LNAMP Linux Nginx Apache Mysql PHP

Nginx + PHPfast CGI

可以理解为一个php加速的一个接口

 

Php-fpm 可以实现fastcgi协议需要的进程池,php-fpm实现的fastcgi进程叫php-cgi,所以php-fmp其实是他自身的fastcgi php-cgi进程管理器

 

Ngix+FastCGI安装

 

前期准备工作:

#yum install   gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mariadb mariadb-server mariadb-devel -y

 

[root@nginx php-5.3.10]# systemctl start mariadb.service
[root@nginx php-5.3.10]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

 

注意:如果碰到以下的错误,查看一下解决方案

配置之前需要做一个软链接

因为在64位的linux系统中,libmysqlclient 默认安装到了 /usr/lib64/mysql/ 目录下,但是php编译时,要去/usr/lib目录下查找

 

# ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so

否则会报错:

configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!

 

 

#使用编译安装php-fast

下载php7.1.12

解压---配置---

[root@nginx ]# tar xvf php-7.1.12.tar.gz

[root@nginx php-7.1.12]# ./configure --prefix=/usr/local/php7.1 --enable-fpm --enable-debug --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-curl --with-mysqli=/usr/bin/mysql_config

 

---编译---安装---

 

[root@nginx php-7.1.12]# make

[root@nginx php-7.1.12]# make install

 

[root@nginx php-7.1.12]# cp php.ini-production /usr/local/php7.1/lib/php.ini

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

#配置文件

[root@nginx php-7.1.12]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

#启动脚本文件

[root@nginx ~]# chmod o+x /etc/init.d/php-fpm

#加权限

[root@nginx ~]# /etc/init.d/php-fpm start
Starting php-fpm  done
[root@nginx ~]# ps -ef | grep php
root       3223      1  0 17:39 ?        00:00:00 php-fpm: master process (/usr/local/php7.1/etc/php-fpm.conf)
nobody     3224   3223  0 17:39 ?        00:00:00 php-fpm: pool www
nobody     3225   3223  0 17:39 ?        00:00:00 php-fpm: pool www
root       3227   2877  0 17:39 pts/0    00:00:00 grep --color=auto php

 

 

 

 

报错:

[root@nginx ~]# /etc/init.d/php-fpm start
Starting php-fpm [29-Nov-2017 16:43:01] WARNING: Nothing matches the include pattern '/usr/local/php7.1/etc/php-fpm.d/*.conf' from /usr/local/php7.1/etc/php-fpm.conf at line 125.
[29-Nov-2017 16:43:01] ERROR: No pool defined. at least one pool section must be specified in config file
[29-Nov-2017 16:43:01] ERROR: failed to post process the configuration
[29-Nov-2017 16:43:01] ERROR: FPM initialization failed
 failed

解决:

[root@nginx php-fpm.d]# pwd
/usr/local/php7.1/etc/php-fpm.d
[root@nginx php-fpm.d]# cp www.conf.default www.conf

如果还有报错可能是配置文件php-fpm.conf最后一行,默认是注释的,去掉注释即可。

include=/usr/local/php7.1/etc/php-fpm.d/*.conf

 

 

 

安装完成:

Wrote PEAR system config file at: /usr/local/php7.1/etc/pear.conf
You may want to add: /usr/local/php7.1/lib/php to your php.ini include_path
/root/php-7.1.12/build/shtool install -c ext/phar/phar.phar /usr/local/php7.1/bin
ln -s -f phar.phar /usr/local/php7.1/bin/phar
Installing PDO headers:           /usr/local/php7.1/include/php/ext/pdo/
[root@nginx php7.1]# tree /usr/local/php7.1/ | grep php-fpm
│?? ├── php-fpm.conf.default
│?? └── php-fpm.d
│?? │??     └── php-fpm.8
│?? └── php-fpm

 

其他链接:

https://www.howtoforge.com/tutorial/how-to-install-php-7-on-debian/

 

安装完配置:

[root@nginx ~]# vi /usr/local/nginx/nginx.conf

[...]

#C
        server {
               listen 80;
               server_name www.doudou0826c.com;
                location / {
                        root    html/c;
                        index   index.html index.htm;
                }
        #PHP
        location ~ \.php$ {
                root    html;
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME /usr/local/nginx/html/c$fastcgi_script_name;
                include         fastcgi_params;
                }
        }

[...]

[root@nginx ~]# cat /usr/local/nginx/html/c/index.php
<?php
phpinfo();
?>

 

 

[root@nginx ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/nginx.conf test is successful
[root@nginx ~]# /usr/local/nginx/sbin/nginx -s reload

 

 

nginx的配置文件记录

[root@nginx nginx]# cat nginx.conf
user nginx nginx;
worker_processes  1;

error_log logs/error.log info;
pid    logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    tcp_nopush        on;
    keepalive_timeout  65;
#A
    server {
        listen 80;
        server_name doudou0826a.com www.doudou0826a.com dd0826a.com ;
        location / {
            root    html/a;
            index    index.html index.htm;
        expires    3d;    
        }
        if ($host != 'www.doudou0826a.com') {
            rewrite ^/(.*) http://www.doudou0826a.com/$1 permanent;
        }
        #rewrite ^/$ http://www.doudou0826a.com/index.html permanent;
        if ( !-e $request_filename )
        {
            rewrite ^/(.*)$ /index.php last;
        }
    }
#B
        server {
                listen 80;
                server_name www.doudou0826b.com;
                location / {
                        root    html/b;
                        index   index.html index.htm;
            }
        if ($http_user_agent ~* "wget" ) { return 404; }
        location ~* \.(gif|jpg|png|swf|flv)$ {
                        valid_referers none blocked *.doudou0826b.com;
                        root    /html/b ;
                if ($invalid_referer) {
                        return 403;
                        }
                }
    
        location /NginxStatus {
            stub_status    on;
        }
    }
#C
    server {
               listen 80;
               server_name www.doudou0826c.com;
                location / {
                        root    html/c;
                        index   index.html index.htm;
        }    
    #PHP
        location ~ \.php$ {
                root    html;
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME /usr/local/nginx/html/c$fastcgi_script_name;
                include         fastcgi_params;
               }
        }
}

 

 

其他:

./configure --prefix=/usr/local/php7.1 --enable-fpm --disable-rpath --with-pear --disable-debug --with-openssl --with-pcre-regex --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --enable-inline-optimization --with-gd --enable-gd-native-ttf --with-gettext --with-imap --with-imap-ssl --with-kerberos --with-ldap --enable-mbstring --enable-mbregex --with-mcrypt --with-mysql --with-mysqli --enable-pcntl --enable-pdo --with-pdo-firebird --with-pdo-mysql --with-pdo-pgsql --with-pgsql --enable-shmop --enable-soap --enable-sockets --enable-sqlite-utf8 --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --enable-wddx --with-xmlrpc --with-xsl --enable-zip --with-pic --enable-ftp --enable-dom --enable-xmlwriter --enable-xmlreader --enable-tokenizer --enable-simplexml --enable-session --enable-posix --enable-phar --enable-libxml --enable-json --with-iconv --enable-filter --enable-fileinfo --enable-dba --enable-ctype

转载于:https://www.cnblogs.com/lingxiaolong/p/7921850.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

培训游戏(34个)

培训游戏(34个) 目 录 1. 造房子 2. 摔鸡蛋 3. 结网托物 4. 盲人移物 5. 搭纸牌 6. 九点游戏 7. 剪纸圈 8. Trust Fall 9. 商店打烊 10. 海上救生 11. Win As Much As Possible 12. 沙漠幸存者 13. 看FLY 14. 找方块 15. 中国人-美国人 16. 画画 17. 猜图形 …

给楠哥准备的入门单片机

---- 少儿编程前几天&#xff0c;珠海的三哥的老婆微信问我「我想给wending报名这个少儿编程课程&#xff0c;你帮我看看怎么样&#xff1f;」我看了下&#xff0c;除了价格还可以&#xff0c;其他都不怎么样&#xff0c;因为报名了这个课程&#xff0c;大家都知道你们家挺有钱…

计算机老师教师节祝福语,送给老师教师节祝福语

1、能使艰难之事变得容易的人是教育者。2、老师的教诲催我风雨兼程&#xff0c;我的祝福伴您昼夜耕耘。祝你教师节快乐&#xff01;3、您的辛劳是我们的动力&#xff0c;我们的成功是您的骄傲&#xff0c;然而我们会为您自豪&#xff01;&#xff01;4、老师就像航海的指标&…

JavaScript初阶(二)

编程形式的区别 编程语言按形式上分为两类&#xff0c;第一是面向过程&#xff0c;第二是面向对象。 面向过程&#xff1a;每一步我们该怎么做&#xff0c;如C语言 面向对象&#xff1a;包含面向过程&#xff0c;但更重要的是用什么方法处理&#xff0c;结构化更强。 显示类型转…

应届生昆山offer和上海户口offer要如何选择?

这两天还在苏州&#xff0c;没有感受苏州的什么好地方&#xff0c;天气有点微凉&#xff0c;有秋天的味道&#xff0c;同行的何总是一个很闷的人&#xff0c;我总想让他跟我说说故事&#xff0c;每次他都说「我是一个没有故事的男人」&#xff0c;是的&#xff0c;一个从毕业就…

html5--3.7 input元素(6)

html5--3.7 input元素(6) 学习要点 input元素及其属性input元素 用来设置表单中的内容项&#xff0c;比如输入内容的文本框&#xff0c;按钮等不仅可以布置在表单中&#xff0c;也可以在表单之外的元素使用input元素的属性 type属性&#xff1a;指定输入内容的类型&#xff0c;…

计算机or笔记本,笔记本or台式机?大学生第一个烦恼被它解决了

原标题&#xff1a;笔记本or台式机&#xff1f;大学生第一个烦恼被它解决了台式电脑还是笔记本&#xff1f;许多大学生在选择第一台大学电脑的时候都会面临这个问题。初秋的风带着点点凉意悄然走进了大学校园&#xff0c;开学季来临&#xff0c;又一批莘莘学子即将满怀青春的梦…

把编译时间加入到目标文件

原文&#xff1a;https://www.cnblogs.com/pingwen/p/8183728.html1、问题背景&#xff1a;如何保证发布出去的bin文件是最终测试通过的版本&#xff1f;一般的来讲&#xff0c;代码到了测试后期&#xff0c;master分支就不会频繁的提交了&#xff0c;并且提交也会更加谨慎。但…

大数据基础篇(一):联机分析处理(OLAP) 与 联机事务处理(OLTP)

联机事务处理(OLTP) OLTP也称实时系统(Real Time System)&#xff0c;支持事务快速响应和大并发&#xff0c;这类系统典型的有ATM机(Automated Teller Machine)系统、自动售票系统等&#xff0c;但有些银行转账并不是实时到账的。OLTP反映企业当前的运行状态&#xff0c;完成企…

[JavaScript] 正则表达式

简单模式• 创建&#xff1a; 一个文本格式或正则表达式构造函数 文本格式&#xff1a; /pattern/flags 正则表达式构造函数&#xff1a; new RegExp("pattern"[,"flags"]); • 参数说明&#xff1a; pattern -- 一个正则表达式文本 flags -- 如果存…

1核2G云服务器 标准型S4 S5,腾讯云服务器标准型S4和S5配置性能参数区别及选择攻略...

腾讯云服务器标准型S4和标准型S5实例有什么区别&#xff1f;标准型S5相对于S4是新一代云服务器规格&#xff0c;S5实例CPU采用2.5GHz主频至强Cascade Lake&#xff0c;S4实例处理器采用2.4GHz主频至强Skylake&#xff0c;腾讯云S4/S5均为标准型服务器&#xff0c;具有均衡的计算…

单精度浮点数与十六进制转换

#include <stdio.h>/*--------------------------- 十六进制到浮点数 ---------------------------*/ float Hex_To_Decimal(unsigned char *Byte,int num) { #if 0char cByte[4];//方法一for (int i0;i<num;i){cByte[i] Byte[i];}float pfValue*(float*)&cByte;…

zipline-benchmarks.py文件改写

改写原因&#xff1a;在这个模块中的 get_benchmark_returns() 方法回去谷歌财经下载对应SPY&#xff08;类似于上证指数&#xff09;的数据&#xff0c;但是Google上下载的数据在最后写入Io操作的时候会报一个恶心的编码的错误&#xff0c;很烦人&#xff0c;时好时坏的那种&a…

css普通压缩不去,使用css-loader的minimize压缩css不起作用?

{ test: /\.(scss|css)$/, use: [!env.production? style-loader: MiniCssExtractPlugin.loader,{ loader: css-loader, options: { modules: true, minimize: true //设置css压缩}},{ loader:…

华为3COM交换机PVLAN配置使用说明

1.  PVLAN的引入   <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /><?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" />在实际应用中有这样一个需求&#xff0c;组网图如上图所示。    …

springboot启动太慢优化

需求缘起&#xff1a;有人在【springboot】微信公众号问&#xff1a;springboot启动慢的问题何时有个分享就好了&#xff0c;谢谢。粉丝的问题还是要认真的回答的。 我们先看看本节的大纲&#xff1a; &#xff08;1&#xff09;组件自动扫描带来的问题&#xff08;SpringBootA…

绑定字符串

Bind("BARAS","{0:F0}")CutString1(DataBinder.Eval(Container.DataItem,"title").ToString(),12)((bool)DataBinder.Eval(Container.DataItem,"IfShow"))?"Yes":"No" 使用 Eval 方法 Eval 方法可计算数据绑定控…

ajax封装 使用,AJAX封装类使用指南

AJAX说起来感觉很难&#xff0c;但是把他封装起来你会发现使用起来很简单了&#xff0c;当然也是简单的应用了&#xff0c;譬如留言板的应用等&#xff0c;这里首先&#xff0c;先送大家一个礼物那就是封装好的AJAX的类&#xff0c;下载地址http://xiazai.jb51.net/201412/yuan…

Linux cpuidle framework

背景Kernel版本&#xff1a;4.14ARM64处理器使用工具&#xff1a;Source Insight 3.5&#xff0c; Visio1. 介绍在Linux OS中&#xff0c;Idle进程的运行会让CPU进入cpuidle状态。当没有其他进程处于运行状态时&#xff0c;Scheduler会选择Idle进程来运行&#xff0c;此时CPU无…

Crystal 语法概述[转]

Crystal 语法概述创建公式时&#xff0c;可以选择使用 Crystal 语法或 Basic 语法。语法规则用于创建正确的公式。几乎任何使用某种语法编写的公式都可以使用另一种语法来编写。报表可以包含使用 Crystal 语法的公式&#xff0c;也可以包含使用 Basic 语法的公式。有关是使用 C…