在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
Dec 14 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 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设计模式 Command(命令模式)
2011/06/26 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
js Calender控件使用详解
2015/01/05 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
Python 调用DLL操作抄表机
2009/01/12 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
linux安装python修改默认python版本方法
2019/03/31 Python
python requests使用socks5的例子
2019/07/25 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
产品促销活动策划书
2014/01/15 职场文书
二年级数学教学反思
2014/01/21 职场文书
酒店经理职责
2014/01/30 职场文书
调解协议书
2014/04/16 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android
Django框架中模型的用法
2022/06/10 Python