php7 mysql nginx_关于lnmp(linux + nginx + mysql + php)的nginx+php7.0-fpm 搭建心德

背景:因为需要在linux(ubuntu)服务器搭建个php环境来运行php项目,无奈,服务器上nginx + nodejs的项目,nginx 占用了80端口,apache用不了 用不了 用不了,重要事情说三遍。。。然后,就想到用nginx+php+mysql 。再然后,就狂风暴雨似的刷网页找相关资料,少的可怜,这个看一点那个看一点,搞了半天,那就一个心力交瘁。。不说了,说多都是泪,直接进入主题...

以下内容分为四大块

1、nginx 搭建

2、php7.0-fpm搭建

3、mysql5.6搭建

4、nginx 和 php7.0-fpm 配置

1、nginx 搭建

第一步:

第二步:解压 tar -zxvf nginx-*.*.*.tar.gz

第三步:设置一下配置信息 ./configure --prefix=/usr/local/nginx ,或者不执行此步,直接默认配置

第四步:make 编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)

make install 安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)

注意 :在配置信息的时候,也就是在第三步,出现了一下错误:

错误为:./configure: error: the HTTP rewrite module requires the PCRE library.

安装pcre-devel解决问题

apt-get install pcre-devel

还有可能出现:

错误提示:./configure: error: the HTTP cache module requires md5 functions

from OpenSSL library. You can either disable the module by using

--without-http-cache option, or install the OpenSSL library into the system,

or build the OpenSSL library statically from the source with nginx by using

--with-http_ssl_module --with-openssl= options.

解决办法:

apt-get install openssl openssl-devel

安装后在linux下启动和关闭nginx:

启动操作

/usr/nginx/sbin/nginx (/usr/nginx/sbin/nginx -t 查看配置信息是否正确)

停止操作

停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的

步骤1:查询nginx主进程号

ps -ef | grep nginx

在进程列表里 面找master进程,它的编号就是主进程号了。

步骤2:发送信号

从容停止Nginx:

kill -QUIT 主进程号

快速停止Nginx:

kill -TERM 主进程号

强制停止Nginx:

pkill -9 nginx

另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:

kill -信号类型 '/usr/nginx/logs/nginx.pid'

平滑重启

如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。

平滑重启命令:

kill -HUP 住进称号或进程号文件路径

或者使用

/usr/nginx/sbin/nginx -s reload

注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

nginx -t -c /usr/nginx/conf/nginx.conf

或者

/usr/nginx/sbin/nginx -t

2、php7.0-fpm搭建

通过Ubuntu PPA来安装PHP7.0

1)、添加 ppa

$ sudo apt-get install python-software-properties software-properties-common

$ sudo add-apt-repository ppa:ondrej/php

$ sudo apt-get update

2)、安装PHP7以及所需的一些扩展

$ sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl php7.0-cli php7.0-mcrypt php7.0-mbstring php7.0-dom

3)、配置PHP7.0

打开 php.ini 配置文件:

$ vim /etc/php/7.0/fpm/php.ini

找到cgi.fix_pathinfo选项,去掉注释;,然后将值设置为0:

cgi.fix_pathinfo=0

启用php7.0-mcrypt

$ sudo phpenmod mcryptNote:启动后重启 php7.0-fpm ,输入: sudo service php7.0-fpm restart

3、mysql5.6搭建

安装mysql5.6

$ sudo apt-get install mysql-server-5.6 mysql-client-5.6

途中会提示设置MySQL的密码,安装好后:

$ mysql -uroot -p

然后输入刚刚设置的密码,能成功进入即成功安装

4、nginx 和 php7.0-fpm 配置关键的配置问题在这里,看过来...

nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。

nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx

首先 得看自身nginx配置(下文是已 include /etc/nginx/sites-enabled/* 模式)

好了,之前网上看的大多是php5

所以遇到了点坑

server {

listen 80;

server_name 域名或者localhost;

location ~ \.php$ {

root html;

#fastcgi_pass 127.0.0.1:9000; #网上大部分用这个配置,不过没起作用

fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; #重要的这,安装不同版本,要确认.sock路径

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME 你存放php的目录$fastcgi_script_name;

include fastcgi_params;

}

}

配置好后,可用在 你存放php的目录下创建一个index.php

文件内容:

phpinfo();

?>

然后,在页面打开 域名或服务器ip 看到php页面就大功告成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值