LNMP编译安装之nginx关联php,Nginx安装环境布署

by admin on 2019年1月31日

  nginx + php做劳务,在高并发的时候会产出局地错误  connect() to
unix:/var/run/php-fpm.sock failed (11: Resource temporarily
unavailable)  。

1.巅峰履行:

LNMP编译安装之nginx关联php–图文详解

LNMP编译安装之nginx关联php–图文详解

近年来有二种格局可以试行。

brew search nginx
brew install nginx

1、前言

事先曾经介绍了nginx,php,mysql的编译安装进度,但nginx和php的涉及没有涉及,导致网页无法健康使用php功效,所有本编介绍怎样将nginx和php进行关联,使*.php文件可以健康在浏览器访问。

1、前言

事先曾经介绍了nginx,php,mysql的编译安装进程,但nginx和php的关系没有涉及,导致网页无法健康使用php功效,所有本编介绍怎么着将nginx和php举行关联,使*.php文件可以健康在浏览器访问。

  环境: ubuntu + nginx + php7.1

提醒没有brew的话请参考mac安装神器brew安装

2、准备步骤

2.1、修改php-fpm配置文件

cp /usr/local/php7/etc/php-fpm.conf.default
/usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default
/usr/local/php7/etc/php-fpm.d/www.conf

bf88必发唯一官网 1
2.2、编辑php-fpm配置文件

vi /usr/local/php7/etc/php-fpm.d/www.conf(开启  listen.allowed_clients
= 127.0.0.1)

vi /usr/local/php7/etc/php-fpm.conf(开启  pid = run/php-fpm.pid)

bf88必发唯一官网 2

bf88必发唯一官网 3

bf88必发唯一官网 4

2.3、驱动php-fpm

/usr/local/php7/sbin/php-fpm

bf88必发唯一官网 5

2.4、查看php-fpm运行情状

ps aux|grep php-fpm

bf88必发唯一官网 6

到此处php-fpm的骨干配备就成功了,接下去继续陈设nginx

2、准备步骤

2.1、修改php-fpm配置文件

cp /usr/local/php7/etc/php-fpm.conf.default
/usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default
/usr/local/php7/etc/php-fpm.d/www.conf

bf88必发唯一官网 7
2.2、编辑php-fpm配置文件

vi /usr/local/php7/etc/php-fpm.d/www.conf(开启  listen.allowed_clients
= 127.0.0.1)

vi /usr/local/php7/etc/php-fpm.conf(开启  pid = run/php-fpm.pid)

bf88必发唯一官网 8

bf88必发唯一官网 9

bf88必发唯一官网 10

2.3、驱动php-fpm

/usr/local/php7/sbin/php-fpm

bf88必发唯一官网 11

2.4、查看php-fpm运行情形

ps aux|grep php-fpm

bf88必发唯一官网 12

到那里php-fpm的基本配备就到位了,接下去继续配备nginx

 

设置完nginx将来,得到部分安插路径:
/usr/local/etc/nginx/nginx.conf (配置文件路径)
/usr/local/var/www (服务器默许路径)
/usr/local/Cellar/nginx/1.6.2 (貌似是安装路径)

3、nginx配置修改

3.1、配置nginx

vim /usr/local/nginx/conf/nginx.conf

bf88必发唯一官网 13

在server下添加

location / {
            root   /var/nginx/www;(网站根目录)
            index  index.html index.htm index.php;(添加index.php)
        }
        location ~ \.php {
            root /var/nginx/www;(网站根目录)
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index /index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_split_LNMP编译安装之nginx关联php,Nginx安装环境布署。LNMP编译安装之nginx关联php,Nginx安装环境布署。path_info   ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO  $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED
$document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
        }

bf88必发唯一官网 14

 

3.2、重启nginx

何以没有开启则省略

/usr/local/nginx/sbin/nginx (启动nginx)

否则

/usr/local/nginx/sbin/nginx -s reload(重启nginx)

bf88必发唯一官网 15

3.3、查看nginx状态

ps aux|grep nginx

bf88必发唯一官网 16

3.4、测试网站是或不是健康访问

3、nginx配置修改

3.1、配置nginx

vim /usr/local/nginx/conf/nginx.conf

bf88必发唯一官网 17

在server下添加

location / {
            root   /var/nginx/www;(网站根目录)
            index  index.html index.htm index.php;(添加index.php)
        }
        location ~ \.php {
            root /var/nginx/www;(网站根目录)
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index /index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_split_path_info   ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO  $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED
$document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
        }

bf88必发唯一官网 18

 

3.2、重启nginx

什么样没有打开则省略

/usr/local/nginx/sbin/nginx (启动nginx)

否则

/usr/local/nginx/sbin/nginx -s reload(重启nginx)

bf88必发唯一官网 19

3.3、查看nginx状态

ps aux|grep nginx

bf88必发唯一官网 20

3.4、测试网站是还是不是正规访问

一、修改参数:

访问localhost:8080
Nginx 默许8080端口,那时已经可以访问了:
localhost:8080
会有一个默认欢迎界面。

4、设置nginx的开机自启

4.1、设置nginx自启脚本

vi /etc/init.d/nginx

bf88必发唯一官网 21

4.2、修改文件权限

chmod a+x /etc/init.d/nginx

bf88必发唯一官网 22

4.3、参加chkconfig管理列表

chkconfig –add /etc/init.d/nginx

bf88必发唯一官网 23

4.4、设置/etc/init.d/nginx自启
chkconfig nginx on

bf88必发唯一官网 24

剧本内容请参见:

4、设置nginx的开机自启

4.1、设置nginx自启脚本

vi /etc/init.d/nginx

bf88必发唯一官网 25

4.2、修改文件权限

chmod a+x /etc/init.d/nginx

bf88必发唯一官网 26

4.3、出席chkconfig管理列表

chkconfig –add /etc/init.d/nginx

bf88必发唯一官网 27

bf88必发唯一官网 ,4.4、设置/etc/init.d/nginx自启
chkconfig nginx on

bf88必发唯一官网 28

本子内容请参考:

  1、内核修改

修改 php-fpm 文件

1.执行命令:

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

2.找到目录下的 php-fpm 文件
/private/etc/php-fpm.conf

3.找到24行的 error_log ,改为(正行替换,注意 ‘;’ 和空格):
; error_log = /usr/local/var/log/php-fpm.log
不然 php-fpm 时会报错:
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such
file or directory (2)

5、设置php-fpm开机自启

php-fpm的自启脚本在下载的php安装包中

5.1、复制php-fpm脚本

 cp /root/php/php-7.1.7/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm

bf88必发唯一官网 29

5.2、修改php-fpm权限

chmod a+x /etc/init.d/php-fpm

bf88必发唯一官网 30

5.3、加入chkfconfig服务

chkconfig –add /etc/init.d/php-fpm

bf88必发唯一官网 31

5.4、设置php-fpm自启

chkconfig php-fpm on

bf88必发唯一官网 32

5.5、复制php-ini(不是必须,可以简简单单)

php安装包提供了五个php.ini配置

php.ini-development 对应于
php.ini-dist,适合开发测试,如本地测试环境。
php.ini-production 对应于 php.ini-recommended
拥有较高的安全性设定,适合服务器上线运营当产品。

地点五个二选一即可

cp php.ini-development  /usr/local/php7/lib/php.ini

bf88必发唯一官网 33

 

到这边php-fpm的配置就完了了

5、设置php-fpm开机自启

php-fpm的自启脚本在下载的php安装包中

5.1、复制php-fpm脚本

 cp /root/php/php-7.1.7/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm

bf88必发唯一官网 34

5.2、修改php-fpm权限

chmod a+x /etc/init.d/php-fpm

bf88必发唯一官网 35

5.3、加入chkfconfig服务

chkconfig –add /etc/init.d/php-fpm

bf88必发唯一官网 36

5.4、设置php-fpm自启

chkconfig php-fpm on

bf88必发唯一官网 37

5.5、复制php-ini(不是必须,可以概括)

php安装包提供了多少个php.ini配置

php.ini-development 对应于
php.ini-dist,适合开发测试,如本地测试环境。
php.ini-production 对应于 php.ini-recommended
拥有较高的安全性设定,适合服务器上线运营当产品。

地方七个二选一即可

cp php.ini-development  /usr/local/php7/lib/php.ini

bf88必发唯一官网 38

 

到那边php-fpm的配置就完了了

sudo vim /etc/sysctl.conf

net.ipv4.tcp_max_syn_backlog = 4096
net.core.netdev_max_backlog = 4096

重新启动
sudo reboot

修改 Nginx 配置

1.打开 nginx.config 文件
/usr/local/etc/nginx/nginx.conf
没有改动权限请调文件修改权限

2.找到 server 的 location 配置,给 index 加一个 index.php
location / {
root html;
index index.html index.htm index.php;
}

3.并打开 server 下被诠释的 location ~.php$(即除去代码前边的
‘#’),如下:
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;
}
4.并修改 fastcgi_param 参数
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
改为
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

6、重启查看php-fpm和nginx状态,测试网站是还是不是足以健康访问

6、重启查看php-fpm和nginx状态,测试网站是还是不是可以正常访问

  2、php-fpm配置修改

创建 index.php

在 /usr/local/var/www 目录下,删除 index.html,创建 index.php,输入
<?php phpinfo(); ?>

修改  /etc/php/7.1/fpm/pool.d/www.conf

listen.backlog = 4096

起步有关服务

sudo nginx
sudo php-fpm

下一场访问localhost:8080,看到 php 配置新闻,就认证 ok 了

  sudo service php-fpm7.1 restart

其它命令

修改 nginx.conf 后,重载配置文件

sudo nginx -s reload

停止 nginx 服务器

sudo nginx -s stop

终止 php-fpm可以直接在 Activity Monitor 中甘休。也得以利用脚本来停。

 

或者出现的标题

1.访问 index.php 报 403 Forbidden.查看(四.2)步骤中,是否在 index
后添加 index.php。

2.访问 index.php 报 File not found.查看(四.4)中,fastcgi_param
参数是或不是修改。

3.修改配置后出现/usr/local/var/run/nginx.pid” failed (2: No such file or
directory)
网上的解决办法有:
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c
/usr/local/nginx/conf/nginx.conf
或者在/var/run下创建nginx文件
自身那里都异常,最终找到的法子是sudo nginx -c
/usr/local/etc/nginx/nginx.conf

  3、nginx配置修改

陈设多站点

在/usr/local/etc/nginx/servers下边创造八个conf文件
nginx-aaa.conf,nginx-bbb.conf,分别做aaa.com
和bbb.com五个站点,五个公文的代码为,对应修改名称和目录地址就行了

server {
    listen 80;
    server_name aaa.com;
    charset utf-8;
    root /Users/xiao/www/aaa/html;
    location / {
        index index.html index.htm index.php;
    }
} 

在nginx.conf文件最终看是还是不是有include servers/*; 没有则增进
重启sudo nginx -s reload就行了

 

listen 80 default backlog=4096;

重新启动
sudo service nginx restart

 

 

二、添加php-fpm的master实例,会增添fpm的处理能力,也能减小报错的几率

 

  1、拷贝php配置文件

cd  /etc/php/7.1/fpm/   
sudo cp php-fpm.conf  php-fpm2.conf


cd pool.d
sudo cp www.conf www2.conf

  2、修改php的安排文件

sudo  vim  php-fpm2.conf

修改内容
pid = /run/php/php7.1-fpm2.pid
error_log = /var/log/php7.1-fpm2.log

include=/etc/php/7.1/fpm/pool.d/www2.conf

  3、重新起动

sudo /usr/sbin/php-fpm7.1 -y /etc/php/7.1/fpm/php-fpm2.conf

  查看    ps -ef | grep php

  或者进入  cd  /var/run/php  查看

bf88必发唯一官网 39

 

关门和重启

sudo  pkill  php-fpm
(关闭所有的php进程)

启动php1       sudo service php7.1-fpm restart
启动php2       sudo /usr/sbin/php-fpm7.1 -y /etc/php/7.1/fpm/php-fpm2.conf

 

  4、nginx配置,在 nginx.conf中添加

  upstream php-socks {
                server unix:/run/php/php7.1-fpm.sock;
                server unix:/run/php/php7.1-fpm2.sock;
        }

      在 *.conf的server中添加

fastcgi_pass  php-socks;   # unix:/run/php/php7.1-fpm.sock;

      重新开动

sudo service nginx restart

  OK!

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图