Ubuntu下搭建lnmp环境(Linux+nginx+mysql+php)


在搭建这个环境之前有点要说的:Ubuntu下的默认包管理软件是apt。刚开始没注意还一直在纳闷yum命令为什么不能用, 正在我查找各种更新yum,修改yum源、yum库的时候,偶然发现了apt-_-!。。。

好了,上面的废话算是给自己的一个教训。关注环境搭建的,可以忽略~ 🙂

安装nginx

安装命令:apt-get install nginx
启动:service nginx start

在浏览器中输入127.0.0.1,如果显示Welcome to nginx!则表示安装成功并运行了。

安装PHP

这里实际上只需要安装php5-fpm就可以了(这里使用的PHP版本是php5以上的)。不过,为 了后面的使用方便,一些常用的功能都一起安装了。如果你不需要可以只安装php5-fpm和php5-mysql(后面PHP使用MySQL要用到),需 要的时候可以再安装。
安装命令:apt-get install php5-fpm php5-cgi php5-curl php5-gd php5-mysql php5-mcrypt php5-memcache php5-memcached php5-dev

php-fpm 是一个守护进程,它运行了一个fastcgi 服务,用来响应PHP请求,默认监听9000端口。

启动:service php5-fpm reload

安装MySQL

安装命令:apt-get install mysql-server mysql-client
安装过程中,会提示你设置数据库的用户和密码。
安装完成后,可以在终端里尝试连接MySQL:

mysql -uroot -p

其中root是你刚才设置的用户名,然后输入你设置的密码。
如果有提示行:

mysql>;

则表示MySQL安装成功!

恭喜你!到这一步你已经都安装好了。
然后要做的就是进行一些配置,下面是默认安装后的路径:

  • nginx的配置文件目录:/etc/nginx/
    在这个目录下有个总配置文件,默认会include所有/etc/nginx/conf.d/*.conf文件。所以一般只需要在这个目录下设置你的项目配置就可以了。
    例如添加一个test.conf文件:

    1. server {
    2. listen 80; ## listen for ipv4; this line is default and implied
    3. listen [::]:80 default ipv6only=on; ## listen for ipv6
    4. root /home/rocx/www-projects/test;
    5. index index.php index.html index.htm;
    6. # Make site accessible from http://localhost/
    7. server_name www.mytest.com;
    8. location / {
    9. # First attempt to serve request as file, then
    10. # as directory, then fall back to index.html
    11. try_files $uri $uri/ /index.html;
    12. }
    13. location /doc {
    14. root /usr/share;
    15. autoindex on;
    16. allow 127.0.0.1;
    17. deny all;
    18. }
    19. location /images {
    20. root /usr/share;
    21. autoindex off;
    22. }
    23. error_page 500 502 503 504 /50x.html;
    24. location = /50x.html {
    25. root /usr/share/nginx/www;
    26. }
    27. location ~ \.php$ {
    28. try_files $uri =404;
    29. include fastcgi.conf; #这一句特别重要!别问我是怎么知道的-_-!
    30. fastcgi_pass 127.0.0.1:9000;
    31. fastcgi_index index.php;
    32. include fastcgi_params;
    33. }
    34. # deny access to .htaccess files, if Apache's document root
    35. # concurs with nginx's one
    36. #
    37. location ~ /\.ht {
    38. deny all;
    39. }
    40. }
    • root /home/rocx/www-projects/test; 设置/home/rocx/www-projects/test为你的项目根目录;
    • server_name www.mytest.com; 设置你的本地访问域名为www.mytest.com
    • 其他的设置还有:nginx监听80端口,并把PHP请求转发到9000端口(这个是php5-fpm监听的端口)。

    注意,修改配置文件后记得重启nginx:/etc/init.d/nginx reload

  • php5-fpm配置目录:/etc/php5/fpm/
    在这个目录下也有个总配置文件php-fpm.conf。它include了所有/etc/php5/fpm/pool.d/*.conf文件。所以一般只需要在这个目录下设置你的项目配置就可以了。
    这个配置文件里面会设置php5-fpm监听的端口,使用的用户、用户组等等信息。默认已经有了一个test.conf文件。暂时不需要做改动。

创建项目目录

创建上面nginx配置文件中设置的项目目录:/home/rocx/www-projects/test。并在目录下新建一个index.php文件,内容如下:

<?php 
    phpinfo();

最后添加本地域名www.mytest.com的重定向。

/etc/hosts文件中添加一行:127.0.0.1 www.mytest.com,保存。

这时,在浏览器中访问www.mytest.com。一切正常的话,将会看到phpinfo页面。


世界不可能那么远