Ubuntu搭建LNMP

LNMP即Linux,Nginx,MySQL,PHP,是一套常见的PHP环境之一(还有个常见的是LAMP,但Apache比较庞大,而Nginx更加轻量级,对于小站点可能更合适)。

本文默认使用root用户执行,如果执行出错,请尝试加sudo

安装Nginx

  1. apt-get install nginx
  2. service nginx start

此时访问主机IP地址(如果是本机可直接访问http://localhost),即可显示Nginx欢迎页面。

安装PHP-FPM

  1. apt-get install php5-fpm php5-mysql
  2. service php5-fpm start

如果是Ubuntu16.04+,默认不能装PHP5,可直接安装PHP7-FPM如下(PHP7没有MySQL模块)。要注意的是,需要了解要用的PHP软件例如WordPress是否兼容PHP7,如果不兼容,最好还是装PHP5(具体方法网上有)。

  1. apt-get install php7-fpm

修改Nginx配置,使其支持PHP

  1. vim /etc/nginx/sites-available/default

修改配置为

  1. server {

  2. listen 80 default_server;

  3. listen [::]:80 default_server ipv6only=on;

  4. root /var/www; # 这里指定站点根目录位置,可以自己修改,但要确保Nginx有访问权限

  5. index index.php index.html index.htm;

  6. server_name server_domain_name_or_IP; # 这里填IP地址或者域名,不填其实也能打开

  7. location / {

  8. try_files $uri $uri/ =404;

  9. }

  10. error_page 404 /404.html;

  11. error_page 500 502 503 504 /50x.html;

  12. location = /50x.html {

  13. root /usr/share/nginx/html;

  14. }

  15. location ~ \.php$ {

  16. try_files $uri =404;

  17. fastcgi_split_path_info ^(.+\.php)(/.+)$;

  18. fastcgi_pass unix:/var/run/php5-fpm.sock; # 注意这一行是针对PHP5的写法

  19. fastcgi_index index.php;

  20. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

  21. include fastcgi_params;

  22. }

  23. }

对于PHP7,则fastcgi_pass一行应该为

  1. fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

测试PHP

在站点根目录中放一个文件index.php,内容如下

  1. <?php phpinfo(); ?>

重启Nginx服务

  1. service nginx restart

此时再访问IP,应该可展示首页为PHP的信息页。如果不能访问,可能是文件权限问题,测试时可以简单改成777如下。

  1. chmod 777 /var/www/index.php

安装MySQL

  1. apt-get install mysql-server
  2. apt-get install mysql-client
  3. apt-get install php5-mysql # 安装php5-mysql 是将php和mysql连接起来,php7不用装

扩展:安装PhpMyAdmin,方便管理数据库

从官网下载PhpMyAdmin解压到网站根目录下的文件夹直接访问即可,具体示例如下。

在官网找到最新版本下载地址,用wget下载到主机,再用unzip解压(没有则先用apt-get安装),移动到网站根目录中的文件夹。例如

  1. wget https://files.phpmyadmin.net/phpMyAdmin/4.6.4/phpMyAdmin-4.6.4-all-languages.zip
  2. unzip phpMyAdmin-4.6.4-all-languages.zip
  3. mv phpMyAdmin-4.6.4-all-languages /var/www/phpmyadmin

创建配置文件,即将示例配置文件复制一份即可

  1. cp config.sample.inc.php config.inc.php

访问对应的URL,即可打开phpMyAdmin,用户名和密码即MySQL数据库的用户名密码。

  1. /var/www/phpMyAdmin/index.php --> http://localhost/phpMyAdmin/index.php

如果发生403错误,可能是phpMyAdmin文件权限问题;404错误则可能是文件权限或者路径不对;500错误,可以打开PHP的错误日志,从网上找到解决方法。例如新安装的PHP7,可能要安装以下扩展:

  1. apt-get install php-mysqli
  2. apt-get install php-mbstring

参考

https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04
http://www.cnblogs.com/ddling/p/5906109.html