`

使用Nginx搭建PHP服务器

阅读更多

一般我们都是采用Apache 作为PHP的解析服务器,这次则是采用Nginx这个强大的反向代理服务器来搭建PHP服务器。下面就以Linux发行版Ubuntu为例搭建一个Nginx的PHP服务器。

首先下载安装Nginx

sudo apt-get install nginx

安装完成后,启动Nginx

sudo /etc/init.d/nginx start

这时候打开浏览器里输入http://localhost/就可以看到Welcome to nginx!的页面了,说明我们的Nginx服务器安装成功

接下来安装PHP5

sudo apt-get install php5-fpm

安装成功后,我们要修改Nginx的虚拟机配置,让浏览器请求的php文件可以被php cgi解析。编辑Nginx虚拟机配置文件/etc/nginx/sites-available/default

sudo vim /etc/nginx/sites-available/default

然后把里面的配置修改为如下配置内容:

# You may add here your
# server {
#   ...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    root /usr/share/nginx/www;
    index index.html index.htm index.php;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to index.html
        try_files $uri $uri/ /index.html;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

    # Only for nginx-naxsi : process denied requests
    #location /RequestDenied {
        # For example, return an error code
        #return 418;
    #}

    error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/www;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

        # With php5-cgi alone:
        fastcgi_pass 127.0.0.1:9000;
        # With php5-fpm:
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#   listen 8000;
#   listen somename:8080;
#   server_name somename alias another.alias;
#   root html;
#   index index.html index.htm;
#
#   location / {
#       try_files $uri $uri/ /index.html;
#   }
#}

# HTTPS server
#
#server {
#   listen 443;
#   server_name localhost;
#
#   root html;
#   index index.html index.htm;
#
#   ssl on;
#   ssl_certificate cert.pem;
#   ssl_certificate_key cert.key;
#
#   ssl_session_timeout 5m;
#
#   ssl_protocols SSLv3 TLSv1;
#   ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
#   ssl_prefer_server_ciphers on;
#
#   location / {
#       try_files $uri $uri/ /index.html;
#   }
#}

重新加载我们刚刚更改的Nginx配置

sudo /etc/init.d/nginx reload

然后我们在/usr/share/nginx/www/目录下新建一个phpinfo.php文件,可以查看php的配置和环境信息

sudo vim /usr/share/nginx/www/phpinfo.php

在phpinfo.php中录入如下内容:

<?php
  phpinfo();
?>

我们在浏览器里输入http://localhost/phpinfo.php就可以看到PHP的信息页了,有版本等信息。

PHP5还有很多支持的模块,如果需要的话可以选择安装,一般这些模块都是php5-开头,比如php5-mysql,在Ubuntu里安装他只需

sudo apt-get install php5-mysql

PHP的模块安装后别忘记重启PHP5哦,执行如下命令可以重启

sudo /etc/init.d/php5-fpm restart

分享到:
评论
1 楼 helonghui 2015-11-23  
Nginx在高并发的时候,内存开销比Apache更加有优势!

相关推荐

    Linux实验-自动部署Nginx+PHP服务器.rar

    在IT行业中,Linux系统是广泛...总之,通过本次实验,你可以学习到Linux服务器管理、Nginx与PHP的部署及交互,以及如何使用shell脚本自动化这些过程,这对于成为一名合格的运维工程师或者开发者都是非常重要的技能。

    Linux下如何搭建nginx服务器

    ### Linux下如何搭建Nginx服务器 #### 一、Nginx与Apache的对比 **1. Apache的优势:** - **强大的Rewrite功能:** Apache的rewrite规则比Nginx更为强大,支持复杂的URL重写逻辑。 - **动态页面处理:** 对于动态...

    nginx搭建https服务器.docx编程资料

    ### Nginx 搭建 HTTPS 服务器详解 #### 一、HTTPS 协议简介 HTTPS(HyperText Transfer Protocol Secure)是一种基于 SSL/TLS 协议的 HTTP 安全版本,通过在 HTTP 基础上增加 SSL 层来实现数据加密传输。这不仅...

    nginx轻量级web服务器搭建

    Nginx作为一种轻量级且高性能的Web服务器,不仅能够处理高并发请求,还支持多种语言(如PHP、JSP等),并内置了群集模块,这使得它可以轻松地搭建起强大的轻量级Web群集系统。本文将详细介绍如何在Linux环境下搭建...

    Tomato DualWAN+移动硬盘 搭建nginx+php+mysql服务器教程

    本教程将指导读者如何使用 Tomato DualWAN+移动硬盘 搭建一个完整的 nginx+php+mysql 服务器。整个过程分为十五步,涵盖了移动硬盘的格式化、挂载、软件安装、脚本编写、防火墙配置等多个方面。 一、移动硬盘的格式...

    CentOS搭建PHP服务器

    本文档将指导您使用CentOS 7、MariaDB、Nginx、PHP 7搭建PHP服务器(LNMP)。下面是详细的知识点: 一、CentOS 7 连通网络 在CentOS 7中,需要配置网络连接以便能够访问互联网。首先,需要编辑网络配置文件。在...

    php运行环境搭建(apache nginx)

    总之,搭建PHP运行环境需要对Web服务器、数据库和脚本语言有深入理解。Apache和Nginx各有优缺点,选择哪种取决于项目需求和个人偏好。在实际操作中,务必参考官方文档和社区资源,以确保环境的稳定性和安全性。

    nginx优化配置,搭建高性能服务器

    5. **性能监控**:可以使用`stub_status`模块开启Nginx的简单状态监控,以便实时查看服务器负载和请求处理情况。 三、实例配置 下面是一个基本的Nginx与FastCGI结合的配置示例: ```nginx http { upstream ...

    Nginx环境搭建

    在RHEL 6环境下搭建Nginx服务器,不仅可以提升网站的响应速度,还能有效降低服务器资源的消耗。通过理解Nginx的运行原理和配置方法,我们可以更好地利用Nginx提供的强大功能,构建高效稳定的Web服务环境。

    Nginx PHP MySQL服务器环境搭建技术实践.pdf

    ### Nginx PHP MySQL服务器环境搭建技术实践 #### 一、引言 随着互联网技术的发展,Web应用程序的需求日益增长。为了构建稳定、高效的应用程序,选择合适的Web服务器、编程语言和数据库至关重要。其中,Nginx、PHP...

    windows server 2012 R2服务器下配置php7+nginx1.1环境

    这种组合常用于搭建高效的 Web 应用程序服务器,尤其是当您需要利用 Nginx 的高性能特性时。下面将通过一系列步骤指导您完成整个配置过程。 #### 一、下载与安装 Nginx 和 PHP 1. **下载 Nginx** 访问 Nginx ...

    Web环境搭建:Linux+Nginx+PHP+Mysql+Redis

    ### Web环境搭建:Linux+Nginx+PHP+MySQL+Redis #### 一、环境概述与推荐版本 在构建一个高效且稳定的商城系统时,选择合适的Web环境至关重要。本指南将介绍一套广泛应用于电商平台的技术栈——**Ubuntu + PHP + ...

    Windows 下 Nginx+PHP+MySQL 服务器环境安装配置包

    包含 Nginx+PHP+MySQL 安装包,还有 OpenSSL 安装包和几个实用 bat 小脚本,涵盖了从搭建 Nginx,自签署 SSL 证书,配置 HTTPS ,部署和配置 Windows PHP 服务器环境,连接 MySQL 的全部所需软件。Linux 可能是搭建...

    Linux实验-部署Nginx+PHP服务器.docx

    本实验主要涉及的是在Linux操作系统中部署Nginx Web服务器和PHP环境,以便能够处理PHP脚本并展示动态内容。实验主要在CentOS7环境下进行,但同时也涵盖了Ubuntu系统的部署方法。以下是实验涉及的主要知识点: 1. **...

    Nginx搭建完整版.pdf

    根据提供的文件信息,内容主要与搭建Nginx相关,同时涉及到了一些与Nginx搭建相关的软件和技术栈。以下将从文件内容中提取的知识点进行详细说明。 知识点: 1. Nginx搭建流程 - Nginx是一种高性能的HTTP和反向...

    Win+Nginx+PHP+MySQL环境搭建.docx

    Win+Nginx+PHP+MySQL 环境搭建是指在 Windows 操作系统上安装和配置 Nginx、PHP、MySQL 等组件,以便搭建一个完整的 Web 服务器环境。该环境搭建主要涉及到 Nginx、PHP、MySQL 三个组件的安装和配置。 一、Nginx ...

    nginx搭建配置详细说明

    2. 安装Nginx服务器 2.1. 在windows上安装 2.2. 在Linux上安装 2.2.1. 写在前面 2.2.2. 准备使用yum安装nginx的运行环境 2.2.3. 安装pcre 2.2.4. 安装zlib库 2.2.5. 安装nginx 2.2.6. 控制nginx 2.2.7. nginx...

    Linux下mysql+PHP+nginx的搭建

    在Linux环境下搭建MySQL+PHP+nginx的服务器是一个常见的任务,尤其对于Web开发人员来说,这一组合提供了稳定且高效的Web服务。以下将详细讲解这个过程,包括Linux基础、VMware虚拟机的安装、Linux镜像的配置以及...

Global site tag (gtag.js) - Google Analytics