在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 相关文章推荐
使用 MySQL Date/Time 类型
Mar 26 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
PHP中unset,array_splice删除数组中元素的区别
Jul 28 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
php实现计数器方法小结
Jan 05 PHP
检测codeigniter脚本消耗内存情况的方法
Mar 21 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 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
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
jQuery 1.0.2
2006/10/11 Javascript
input 高级限制级用法
2009/03/26 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
[47:03]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第二场 12.10
2020/12/13 DOTA
python求crc32值的方法
2014/10/05 Python
Python版微信红包分配算法
2015/05/04 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
Python之时间和日期使用小结
2019/02/14 Python
python三引号输出方法
2019/02/27 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
美术教学感言
2014/02/22 职场文书
政风行风评议整改方案
2014/09/15 职场文书
工作失职检讨书500字
2014/10/17 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技