nginx与php7.0的结合

ubuntu 16.04版本       nginx 1.10.3版本  php  7.0.22版本

(1)在安装nginx、php、mysql等等的之前先输入

apt-get update

apt-get upgrade

这三个指令让系统更新、软件更新。

(2)安装需要的软件

直接在命令行上输入指令

sudo apt-get install nginx

sudo apt-get install php7.0-fpm

sudo apt-get install mysql-server-5.7

sudo apt-get install php7.0-mysql

(注:这里的php版本是我自己的版本,必须根据自己的版本来调节,否则在后续的某些文件路径会有些出入)

如果想测试一下nginx是否在我们的系统上安装成功可以打开浏览器,然后输入localhost或者是你的主机ip(我的是127.0.0.1)就会出现welcome to nginx。出现这个页面是因为我们的nginx寻找本服务器的资源,而资源放在/var/www/html这个文件夹内。你可以输入vi /var/www/html/index.nginx-debian.html进入就可以看到利用html语言写好的欢迎界面,我们可以把welcome to nginx后面加上bules(我的名字),然后按wq!保存退出。然后在浏览器上重新加载这个页面,看是不是出现改变了。(注意,我们这些动作最好都是在root用户的情况下操作,而且当我们修改过我们的nginx配置文件的后,最好都要重新加载一下nginx和相关服务(这里是php),这些加载的命令我在下文提到)。

(3)配置文件

nginx的配置文件必须改才能适用于我们自己,默认的情况是不支持php-cgi的,所以必须改一下:

在我们的命令行上输入:vim /etc/nginx/site-available/default,进入我们的nginx默认配置文件中,找到

#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
#}
改成
location ~ \.php$ {
include snippets/fastcgi-php.conf;

# With php7.0-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

大概的意思就是所有以.php结尾的文件都传给php7.0-fpm去处理,处理完了把结果发给nginx然后在由nginx发给客户机(浏览器)

然后重启一下服务

systemctl restart nginx

systemctl restart php7.0-fpm

默认的网站根目录在/var/www/html/(可以通过nginx的配置文件里的root那里改路径)


测试一下php-fpm与nginx的结合

在文件夹/var/www/html内创建一个文件,进入这个文件夹内输入指令vi test.php,进入到vi文本模式,在里面输入

<?

echo phpinfo();

?>

然后按wq!保存退出。

下一步输入指令:vi /etc/nginx/site-available/default进去到这个文档里面(nignx默认的配置文件文档),找到index index.html index.htm index.nginx-debian.html(这几个索引名字位置不一定这样,越前面的话,nginx按优先级寻找匹配的同名资源(后缀)。

找到这行文本的话,添加index index.php(最好放第一位)添加它的原因就是上面提到的让nginx寻找php类型的资源,这里也就是实现了nginx+php的结合(中间通过php-fpm来调解)。然后按wq!保存退出。

打开我们的浏览器,在输入框里写入localhost/test.php(我的主机名是127.0.0.1,也可以输入127.0.0.1/test.php)就会出现php版本的信息框。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Nginx是一款高性能的Web服务器,并且也可以作为反向代理服务器和负载均衡器使用。它的特点是占用资源少、稳定性高、并发能力强,可以处理大量的并发连接请求。 WSGI(Web Server Gateway Interface)是一种Web服务器和Python应用程序之间的通信协议。它定义了应用程序和服务器之间的接口规范,使得不同的Python框架(如Django和Flask)可以与Web服务器(如Nginx)进行通信,实现Web应用程序的部署和运行。 PHP 7.0是一种流行的开源脚本语言,常用于Web开发。它具有丰富的功能和扩展库,使得开发人员可以快速构建动态的网站和应用程序。在Nginx中,可以通过FastCGI模块来支持PHP的解析和执行。 结合这三者,我们可以使用Nginx作为Web服务器,通过WSGI协议将请求传递给Python应用程序,同时支持PHP解析和执行。具体的配置步骤如下: 1. 安装Nginx并配置虚拟主机:通过在Nginx的配置文件中添加虚拟主机,将请求定向到正确的域名或IP地址。 2. 安装和配置Python应用程序:确保Python应用程序与WSGI兼容,并安装必要的模块。可以使用Gunicorn作为WSGI容器,它可以与Nginx配合使用。 3. 配置Nginx与Python应用程序的通信:通过在Nginx的配置文件中添加代理规则,将请求传递给Python应用程序。可以使用与WSGI兼容的Gunicorn的地址。 4. 配置NginxPHP的通信:通过将PHP解析器与FastCGI模块结合使用,实现NginxPHP的支持。可以通过在Nginx的配置文件中添加相应的规则来实现。 这样,我们就可以在同一台服务器上同时支持Python和PHP应用程序。Nginx作为Web服务器和反向代理服务器,通过WSGI协议将请求传递给Python应用程序,并利用FastCGI模块支持PHP解析和执行。整个配置的目的是为了实现高性能和稳定性,以及对多种Web开发技术的支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值