在Debian系统下配置LNMP的教程


Posted in PHP onJuly 09, 2015

LNMP环境的配置是需要让我们的主机支持Nginx、MySQL、PHP、phpMyAdmin,这样配置好之后就可以直接使用此环境,并在上面运行网站了,下面我来配置方法。

我们先来看官方说明

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序

1,安装MySQL
执行命令:

apt-get install -y mysql-server mysql-client

即可安装MySQL,安装过程中会询问 root密码 ,键入你需要的密码之后回车即可。

安装完成后,执行如下命令进行一步安全设置:

mysql_secure_installation

按照提示进行,过程中会询问是否更改 root密码,是否移除匿名用户,是否禁止root远程登录等。
2,安装PHP
执行命令:

apt-get install php5-fpm php5-gd php5-mysql php5-memcache php5-curl

上面的命令安装了php5-memcache的扩展,于是继续安装 Memcached 。

apt-get install memcached

安装完毕之后,使用 php5-fpm -v 查看一下PHP的版本:

root@ztbox:~# php5-fpm -v

PHP 5.4.16-1~dotdeb.1 (fpm-fcgi) (built: Jun  8 2013 22:20:42)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

3,安装Nginx

这里我直接安装了Nginx的全部扩展功能(nginx-full),以应对以后可能出现的功能性增强。

apt-get install -y nginx-full

然后启动Nginx:

service nginx start

访问结果如上图,接下来配置Nginx。

vim /etc/nginx/sites-available/default

……
    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;
    }
……

修改保存之后重启Nginx:

service nginx restart

接下来我们新建一个phpinfo,查看php的详细信息:

vim /usr/share/nginx/html/phpinfo.php

<?php phpinfo(); ?>

保存之后访问 http://ip/phpinfo.php , 如果出现 phpinfo 页面,则大功告成。

如何新建站点
和军哥的一键包不同,此方法所安装的 LNMP 需要手动添加站点配置文件。

cd /etc/nginx/conf.d

 进入配置文件目录,新建一个站点配置文件,比如

vi dearroy.com.conf


server {
  listen 80;

 #ipv6
  #listen [::]:80 default_server;

  root /usr/share/nginx/html/dearroy.com;

 #默认首页文件名
  index index.php index.html index.htm;

 #绑定域名
  server_name localhost;

 #伪静态规则
 include wordpress.conf;

  location / {
    try_files $uri $uri/ /index.html;    
  }
 #定义错误页面
  #error_page 404 /404.html; 

  location ~ .php$ {
    fastcgi_split_path_info ^(.+.php)(/.+)$;
    fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     include fastcgi_params;
   }
   #PHP
}

保存之后重启Nginx,添加及绑定网站即完成。

最后,附两个最常用的程序Nginx伪静态:

WordPress:
 

location / {

if (-f $request_filename/index.html){

                rewrite (.*) $1/index.html break;

        }

if (-f $request_filename/index.php){

                rewrite (.*) $1/index.php;

        }

if (!-f $request_filename){

                rewrite (.*) /index.php;

        }

}

Discuz X:

rewrite ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 last;

rewrite ^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 last;

rewrite ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;

rewrite ^([^.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;

rewrite ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;

rewrite ^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;

rewrite ^([^.]*)/([a-z]+)-(.+).html$ $1/$2.php?rewrite=$3 last;

if (!-e $request_filename) {

        return 404;

PHP 相关文章推荐
php下intval()和(int)转换使用与区别
Jul 18 PHP
php懒人函数 自动添加数据
Jun 28 PHP
php UBB 解析实现代码
Nov 27 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
Oct 10 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
laravel-admin 中列表筛选方法
Oct 03 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 #PHP
php将html转成wml的WAP标记语言实例
Jul 08 #PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 #PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 #PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 #PHP
PHP实现多文件上传的方法
Jul 08 #PHP
PHP实现图片自动清理的方法
Jul 08 #PHP
You might like
PHP开发的一些注意点总结
2010/10/12 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
PHP邮件发送类PHPMailer用法实例详解
2014/09/22 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
图片懒加载插件实例分享(含解析)
2017/01/09 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
python实现支付宝转账接口
2019/05/07 Python
详解python中__name__的意义以及作用
2019/08/07 Python
iPython pylab模式启动方式
2020/04/24 Python
python三引号如何输入
2020/07/06 Python
如何唤起类中的一个方法
2013/11/29 面试题
优秀医生事迹材料
2014/02/12 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
个人收入证明范本
2014/09/18 职场文书
学生检讨书怎么写
2014/10/09 职场文书
化工厂员工工作总结
2015/10/15 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS