Ubuntu配置LNMP
twocode

    ubuntu配置当然就是apt-get方式:

    系统:Ubuntu 14.04 LTS 64bit

    1.安装MySQL 5.5.36(建议采用这个,因为与php-mysql模块版本一致)

    sudo apt-get install mysql-server mysql-client

    会提示输入密码

    root  password *** Enter

    password repeat *** Enter

    安装完成后,通过下面的命令查看,发现mysql进程已经启动了

    ps auxf | grep mysql

1433342955312023.png

    或者安装MySQL 5.6.16(不推荐这个,php mysql模块是针对mysql 5.5版本的)

    sudo apt-get install mysql-server-5.6 mysql-client-5.6

    2.安装Nginx

    sudo apt-get install nginx

    安装完成后,启动web服务器nginx

    sudo service nginx start

    在浏览器中输入

    http://localhost

    查看启动是否正常,如图:

    1433343122986962.png

    3.安装PHP5(php5-fpm)(参考博文PHP-FPM)

        我们采用PHP-FPM来使PHP5和Nginx整合。下面安装PHP5-FPM

   sudo apt-get install php5-fpm

    

    4.配置整合Nginx和PHP

    Nginx的配置文件默认在/etc/nginx/nginx.conf,此配置文件上的修改部分参考

            http://wiki.nginx.org/NginxFullExample2

             http://wiki.nginx.org/NginxFullExample

    nginx.conf文件中,有



    按照ubuntu 14.04默认安装的Nginx的版本信息(你可以使用nginx -h命令查看),它会在nginx.conf中默认包含

    即是/etc/nginx/sites-enabled/default文件,

    修改此配置文件:

    首先做备份 sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/default.old (发现文件是空的,悲剧)

    编辑文件  sudo vi|gedit /etc/nginx/sites-enabled/default

    需要修改的地方:

    1)取消同时侦听 IPv4 和 IPv6 的80端口。

    2)server_name ***; 默认主机名 (当然你可以修改为: www.pekingpiao.com).

    3)index主页这一行我们加入 index.php。

    4)PHP 重要配置配置 location ~ .php$ {} 这几行我们需要启动,反注释掉。另外再添加一行:try_files $uri =404。

    5)保存文件,然后检查配置文件正确性

    sudo service nginx configtest (configtest.png)

    6)重新加载配置文件

    sudo service nginx reload

    ok完活!   

    以下是详细操作:(具体功能分析参考博客nginx配置详解)

    1).index 后面添加index.php



    2).#try_files $uri $uri/ =404;=====>try_files $uri $uri/ /index.php;



    3).去掉下面模块的#,其中

    在fastcgi_split之前加上: try_files $uri =404;

    #fastcgi_pass 127.0.0.1:9000;前面不动;(参考博文PHP-FPM的TCP连接配置)

    有的说,如果是虚机的话,也可以在该文件夹下创建一个配置文件,加入下面的配置信息,然后在nginx.conf中加载也可以。

    更多配置信息参考:http://wiki.nginx.org/Pitfalls#Passing_Uncontrolled_Requests_to_PHP

    5.测试,在网站根目录下生成如下PHP探针

    cd /usr/share/nginx/html

    sudo touch a.php

    sudo vi a.php:

    <?php

      phpinfo()

    浏览器运行:localhost/a.php

    查看php页面信息是否正常,参见下面的截图:

    1433344510717603.png

    6.配置整合PHP和MySQL

    安装以后开发中需要用到的如下常用PHP模块:

    sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ps php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xcache libmcrypt-dev mcrypt php5-dev memcached

    重启php-fpm

    sudo service php5-fpm restart

    重启运行

    http://localhost/a.php

    查看MySQL以及其它模块信息是否出现:

    1433344613896090.png

    7.安不安装phpmyadmin

    sudo apt-get install phpmyadmin

    安装过程中,当提示你选择apache或是lighthttpd时,不要选择这两个,直接ESC;提示你是否想通过dbconfig来配置数据库,选yes|是,输入MySQL数据库密码root。

    然后在phpMyAdmin和你的站点之间创建一个软符号链接

    sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html

    重启Nginx,

    sudo service nginx restart

    现在通过phpMyAdmin来访问数据库

    http://localhost/phpmyadmin/

    

    附linux命令:参考(http://os.51cto.com/linuxman/)

    ln -在文件之间建立连接  

    总览

    ln [options] source [dest]

    ln [options] source...directory  

    POSIX 选项:

    [-f]  

    GNU 选项(缩写):

    [-bdfinsvF] [-S backup-suffix] [-V {numbered, existing, simple}] [--help] [--version] [--]  

    描述

    在Unix世界里有两个'link'(连接)概念,一般称之为硬连接和软连接。 一个硬连接仅仅是一个文件名。(一个文件可以有好几个文件名,只有将 最后一个文件名从磁盘上删除,才能把这个文件删掉。文件名的个数是由 ls(1)来确定的。所有的文件名都处于同一个状态,也就没有什么“源名字” 之说。通常文件系统里的一个文件的所有名字包含着一样的数据信息,不 过这样也不是必需的。)一个软连接(或符号连接)是完全不同的:它是 一个包含了路径信息的小小的指定文件。因此,软连接可以指向不同文件 系统里的文件(比如由NFS装载的不同机器文件系统上的文件),甚至可以 指向一个不一定确实存在的文件。在软连接文件被访问(系统调用open(2) 或stat(2))的时候,操作系统用该文件所包含的路径替换该文件的访问介 入点,从而实现对所指文件的访问。(用命令rm(1)和unlink(2)可以删除 连接,但不是删除该文件所指向的文件。系统指定调用lstat(2)和readlink(2) 来读取连接文件与其所指文件的状态。到底是对软连接文件操作,还是对被 指向文件操作,由于不同操作系统件存在不同的系统调用,而存在着差异。) ln 在文件间产生连接。缺省时,产生硬连接,有-s选项,则产生符号(软)连接。 如果仅仅只给出一个文件名,那么ln将在当前目录里产生这个文件的连接,也就是说,以该文件(的最后一个)名称等同的名字在当前目录里产生一个连接(GNU范围内);如果最后一个参数是一个已存在的目录名, ln 将在那个目录里给每一个源文件用以与源文件相同的文件名产生连接,(不同情况见以下--no-dereference的描述);如果只给出两个文件名,ln将产生源文件的连接;如果最后一个参数不是一个目录名或多于两个文件名,则报错。 缺省时,ln不删除已存在的文件或符号连接。(因此,它可以被用来锁定目标文件,即当dest已经不存在时)但选项-f可以强制执行。 在已存在的实现中,只有超级用户才能建立目录的硬连接。 POSIX 禁止系统调用link(2)和ln建立目录的硬连接(但是允许在不同的文件系统间建立硬连接)。  

    POSIX 选项

    -f    删除已存在的目的文件。 

    GNU 选项

    -d, -F, --directory

        允许超级用户建立目录硬连接。 

    -f, --force

        删除已存在的目的文件。 

    -i, --interactive

        提示是否删除已存在的目的文件。 

    -n, --no-dereference

        当所给出的目的文件名是一个目录的符号连接时,将其视为一般文件处理。 当目的目录名是一个确实存在的目录(不是一个符号连接)时,不进行模糊处理,而在那个目录里建立连接。但是当所指定的目的目录名是一个符号连接时,有两种方式来对待用户的要求。 ln 会视目的为一个普通目录,并且在里面建立连接。或者如同符号连接本身一样地视其为一个非目录。这种情况下,ln 将在建立新连接之前删除或备份这个符号连接。缺省地,把符号连接视为普通目录来对待。 

    -s, --symbolic

        建立符号连接以替代硬连接。在不支持符号连接的系统上,这个选项仅仅会产生一个错误提示而已。 

    -v, --verbose

        在建立连接前显示所操作的文件名。

    GNU 备份选项

    对于想备份那些有可能被覆盖、改写或者被破坏的文件, GNU提供了比如:cp, mv, ln, install和patch等命令。可以使用-b参数生成备份文件。备份文件的名称由-V参数指定。假如备份文件的名称是通过原文件名加后缀而得到,那么要用-S参数来指定这个后缀。

    -b, --backup

        备份文件。 

    -S SUFFIX,-suffix=SUFFIX

        在备份文件后添加"SUFFIX"(你的后缀)。如果不使用该参数,则使用环境变量 SIM_PLE_BACHUP_SUFFIX,如果该环境变量没有设置,则缺省地使用'~'。 

    -V METHOD,-version-control=METHOD

        指定备份文件如何命名。参数"METHOD"可以是'numbered'(或't')。

网友评论已关闭