在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 相关文章推荐
PHP5在Apache下的两种模式的安装
Sep 05 PHP
Gregarius中文日期格式问题解决办法
Apr 22 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
PHP动态创建Web站点的方法
Aug 14 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
php使用json_encode对变量json编码
Apr 07 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 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
雄兵连:第三季确定会出,不过时间未定,鹤熙是第三季的主角!
2020/03/13 国漫
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
JavaScript 10件让人费解的事情
2010/02/15 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
python with statement 进行文件操作指南
2014/08/22 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
英语硕士生求职简历的自我评价
2013/10/15 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
付款委托书范本
2014/04/04 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2014年生产部工作总结
2014/12/17 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
二年级作文之动物作文
2019/11/13 职场文书