Centos7下yum安装配置nginx与php
2018-01-10 22:51
309 查看
实现LNMP环境搭建。
开始安装Nginx和PHP-FPM之前,首先卸载系统中以前安装的Apache和PHP保证安装不会冲突。用root登录输入下面的命令:
[plain] view plain copy
yum remve httpd* php*
增加额外资源库
默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。我们可以这样增加两个资源库:
yum install nginx
安装完成后可以启动nginx,在浏览器里面访问,查看nginx是否安装成功。端口默认为80。
[plain] view plain copy
systemctl start nginx
nginx中yum安装的默认网站根目录在/usr/share/nginx/html
结果如下:
表示已成功安装nginx.
yum install php php-fpm
[plain] view plain copy
启动php-fpm
systemctl start php-fpm
[plain] view plain copy
可以通过yum install mariadh mariadb-server 安装
[plain] view plain copy
yum install php-gd php-mysql php-mbstring php-xml php-mcrypt php-imap php-odbc php-pear php -xmlrpc
Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。详细的过程,如下图所示:
打开nginx主配置文件。
vim /etc/nginx/nginx.conf
[plain] view plain copy
在http模块中添加配置:
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
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;
}
[plain] view plain copy
# vi /usr/share/nginx/html/info.php
文件内容如下:
[plain] view plain copy
<?php
phpinfo();
?>
可以看到我们的php文件可以加载出来了。此时我们的nginx已经与php关联可以共同工作了。即LNMP环境搭建完毕。
开始安装Nginx和PHP-FPM之前,首先卸载系统中以前安装的Apache和PHP保证安装不会冲突。用root登录输入下面的命令:
[plain] view plain copy
yum remve httpd* php*
增加额外资源库
默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。我们可以这样增加两个资源库:
1:安装nginx:
[plain] view plain copyyum install nginx
安装完成后可以启动nginx,在浏览器里面访问,查看nginx是否安装成功。端口默认为80。
[plain] view plain copy
systemctl start nginx
nginx中yum安装的默认网站根目录在/usr/share/nginx/html
结果如下:
表示已成功安装nginx.
2:安装PHP和PHP-FPM:
[plain] view plain copyyum install php php-fpm
[plain] view plain copy
启动php-fpm
systemctl start php-fpm
3:将PHP与mysql模块关联起来:
数据库再变不在安装。[plain] view plain copy
可以通过yum install mariadh mariadb-server 安装
[plain] view plain copy
yum install php-gd php-mysql php-mbstring php-xml php-mcrypt php-imap php-odbc php-pear php -xmlrpc
4:配置nginx与php一起工作:
Nginx+FastCGI运行原理Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。详细的过程,如下图所示:
打开nginx主配置文件。
vim /etc/nginx/nginx.conf
[plain] view plain copy
在http模块中添加配置:
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
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;
}
5:测试nginx与php是否正常。
重启nginx服务器,在网站根目录创建一个index.php文件[plain] view plain copy
# vi /usr/share/nginx/html/info.php
文件内容如下:
[plain] view plain copy
<?php
phpinfo();
?>
可以看到我们的php文件可以加载出来了。此时我们的nginx已经与php关联可以共同工作了。即LNMP环境搭建完毕。
相关文章推荐
- nginx与PHP的安装配置
- Nginx与PHP(FastCGI)的安装、配置与优化
- ubuntu下nginx+Mysql+php的安装和配置
- nginx php-fpm安装配置
- ubuntu下的nginx+php+mysql安装配置
- Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器 安装与配置(4)
- 实战Nginx与PHP(FastCGI)的安装、配置与优化
- nginx php-fpm安装配置
- nginx配置解析php,nginx不能访问php的解决文案——0基础linux安装web服务器8
- LNMP(linux+nginx+mysql+php)源码安装及协调配置测试笔记
- nginx php-fpm安装配置
- linux源码安装php,nginx配置php
- nginx安装配置、Nginx支持php
- linux nginx+apache+php+mysql 安装配置
- 阿里云CENTOS系统安装PHP+MYSQL+NGINX环境配置
- nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置
- 安装配置PHP 5.6 + Nginx 1.8
- win平台安装配置Nginx+php+mysql 环境
- ubuntu 下 nginx+php+mongodb+memcache安装配置
- 实战Nginx与PHP(FastCGI)的安装、配置与优化