侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Ubuntu/Debian上安装Nginx+php环境详细教程

php  /  管理员 发布于 7年前   188

  尽管Apache已经占据半片江山,但很多人仍然在寻找其他的方式去托管他们的站点,Apache不只是一个选择,其他很多优秀的服务器程序例如lighthttp和nginx也是不错的选择。本教程将要向您展现如何在Ubuntu操作系统上面安装,教程同样适用在Debian,尽管有一点点小差别,但并没有太大影响。怎么样,下面我们开始吧。

  0.开始注意

  为了完成教程中提到的操作,我们假设您已经安装了一个基本的Debian或者Ubuntu操作系统。怎么安装系统这是不同的教程了,这里就不再详细说明。本教程主要介绍如何简单获取Nginx+php的运行环境。

  1.安装Nginx

  第一步要做的就是从库中下载,这个操作是非常简单的。

sudo apt-get install nginx

  更改默认的虚拟站点配置,文件在:

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

  一个漂亮的关键配置是:

server {    listen   80;    server_name  localhost;    access_log  /var/log/nginx/localhost.access.log;## Default location    location / {        root   /var/www;        index  index.php;    }## Images and static content is treated different    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {      access_log        off;      expires           30d;      root /var/www;    }## Parse all .php file in the /var/www directory    location ~ .php$ {        fastcgi_split_path_info ^(.+.php)(.*)$;        fastcgi_pass   backend;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;        include fastcgi_params;        fastcgi_param  QUERY_STRING     $query_string;        fastcgi_param  REQUEST_METHOD   $request_method;        fastcgi_param  CONTENT_TYPE     $content_type;        fastcgi_param  CONTENT_LENGTH   $content_length;        fastcgi_intercept_errors        on;        fastcgi_ignore_client_abort     off;        fastcgi_connect_timeout 60;        fastcgi_send_timeout 180;        fastcgi_read_timeout 180;        fastcgi_buffer_size 128k;        fastcgi_buffers 4 256k;        fastcgi_busy_buffers_size 256k;        fastcgi_temp_file_write_size 256k;    }## Disable viewing .htaccess & .htpassword    location ~ /.ht {        deny  all;    }}upstream backend {        server 127.0.0.1:9000;} 

  好了,我们完成到这里,下面我们需要安装PHP所需要的文件。

  2.安装PHP

  很多站点都使用PHP提供动态内容,他们可能是一个wiki一个博客,或者一个论坛什么的。

  如果你现在运行的是Ubuntu,我们首先需要解决两种不同的deb包,如果你运行的是amd64版本,那需要更改i386为amd64

  注意:如果是debian则不需要做这些

cd /tmp
wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
sudo dpkg -i *.deb

  再次说明,这个只需要在Ubuntu上面操作就可以了,如果是最新版本的12.04可以省略掉这个。

  下面剩余部分将在Ubuntu和Debian上面都通用。

  我们需要增加APT源来增加deb包,所以我们可以使用php5.3和php-fpm

sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list

  更新apt:

sudo apt-get update

  下面我们开始安装PHP(第一部分)

sudo apt-get install php5-cli php5-common php5-suhosin

  我们需要安装命令行,不然接下来就会出现些小问题

sudo apt-get install php5-fpm php5-cgi

  如果你打算使用数据库或者一些需要的模块(例如:mcrypt,ldap,snmp等)你同样可以安装他们。

  好了,我们现在已经安装完了nginx和php

  一个注意点:如果你使用"php的短标记(<?)",你需要在php.ini中开启(fpm和cli同样),如果你不改变这些,你将看到代码以文本的方式显示。

  3.完成

  重启nginx服务器

sudo /etc/init.d/nginx restart

  配置完成php.ini后需要重启php5-fpm,使用命令

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

  全部完成,你可以运行了。

  4.测试

  我们可以在/var/www中创建一个index.php的文件,内容如下:

<?php phpinfo(); ?>

  通过浏览器访问,你可以看到php的一个大致的信息,如果没有则说明一些配置错误,需要重新检查。

  5.问题和最终提示

  如果你没有看到phpinfo,可能会出现一些错误,那可以执行:

sudo tail /var/log/nginx/error.log

  查看错误日志,另外每次当你修改了php.ini后,需要重启php5-fpm。无需重启nginx。

  在默认的配置中nginx是启用了fastcgi的错误日志的,如果看到一个严重的错误(例如出现"cannot redeclare class xyz"),nginx可以看到这个“漂亮的”错误页面,那可能是一些错误发生了。

  如果这样你可以关闭,如果php5-fpm不能运行,你的php文件将不会被解析,并且nginx会显示一个错误页面。

  好了,我猜你已经完成了,并且现在使用nginx作为你的web服务器,nginx是一个小巧、漂亮并且你可以配置很多东西的一个东东,如果你需要伪静态,注意nginx不会运行 .htaccess 文件,你需要伪静态更改vhost配置。

  如果对在Linux下感兴趣的朋友可以查看《Linux下的DedeCMS站点高级安全策略》

  翻译:天涯

  原文:http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian


  • 上一条:
    Ubuntu 搭建LNMP环境图文教程 安装PHP
    下一条:
    Ubuntu12编译安装PHP5.3的详解步骤
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客