关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » Linux »Ubuntu/Debian上安装Nginx+php环境详细教程

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

    2007-01-01 00:01:22 出处:ITJS
    分享

    尽管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
    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。