LNMP即Linux,Nginx,MySQL,PHP,是一套常见的PHP环境之一(还有个常见的是LAMP,但Apache比较庞大,而Nginx更加轻量级,对于小站点可能更合适)。
本文默认使用root用户执行,如果执行出错,请尝试加sudo
安装Nginx
apt-get install nginx
service nginx start
此时访问主机IP地址(如果是本机可直接访问http://localhost),即可显示Nginx欢迎页面。
安装PHP-FPM
apt-get install php5-fpm php5-mysql
service php5-fpm start
如果是Ubuntu16.04+,默认不能装PHP5,可直接安装PHP7-FPM如下(PHP7没有MySQL模块)。要注意的是,需要了解要用的PHP软件例如WordPress是否兼容PHP7,如果不兼容,最好还是装PHP5(具体方法网上有)。
apt-get install php7-fpm
修改Nginx配置,使其支持PHP
vim /etc/nginx/sites-available/default
修改配置为
-
server {
-
listen 80 default_server;
-
listen [::]:80 default_server ipv6only=on;
-
root /var/www; # 这里指定站点根目录位置,可以自己修改,但要确保Nginx有访问权限
-
index index.php index.html index.htm;
-
server_name server_domain_name_or_IP; # 这里填IP地址或者域名,不填其实也能打开
-
location / {
-
try_files $uri $uri/ =404;
-
}
-
error_page 404 /404.html;
-
error_page 500 502 503 504 /50x.html;
-
location = /50x.html {
-
root /usr/share/nginx/html;
-
}
-
location ~ \.php$ {
-
try_files $uri =404;
-
fastcgi_split_path_info ^(.+\.php)(/.+)$;
-
fastcgi_pass unix:/var/run/php5-fpm.sock; # 注意这一行是针对PHP5的写法
-
fastcgi_index index.php;
-
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-
include fastcgi_params;
-
}
-
}
对于PHP7,则fastcgi_pass一行应该为
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
测试PHP
在站点根目录中放一个文件index.php,内容如下
<?php phpinfo(); ?>
重启Nginx服务
service nginx restart
此时再访问IP,应该可展示首页为PHP的信息页。如果不能访问,可能是文件权限问题,测试时可以简单改成777如下。
chmod 777 /var/www/index.php
安装MySQL
apt-get install mysql-server
apt-get install mysql-client
apt-get install php5-mysql # 安装php5-mysql 是将php和mysql连接起来,php7不用装
扩展:安装PhpMyAdmin,方便管理数据库
从官网下载PhpMyAdmin解压到网站根目录下的文件夹直接访问即可,具体示例如下。
在官网找到最新版本下载地址,用wget下载到主机,再用unzip解压(没有则先用apt-get安装),移动到网站根目录中的文件夹。例如
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.4/phpMyAdmin-4.6.4-all-languages.zip
unzip phpMyAdmin-4.6.4-all-languages.zip
mv phpMyAdmin-4.6.4-all-languages /var/www/phpmyadmin
创建配置文件,即将示例配置文件复制一份即可
cp config.sample.inc.php config.inc.php
访问对应的URL,即可打开phpMyAdmin,用户名和密码即MySQL数据库的用户名密码。
/var/www/phpMyAdmin/index.php --> http://localhost/phpMyAdmin/index.php
如果发生403错误,可能是phpMyAdmin文件权限问题;404错误则可能是文件权限或者路径不对;500错误,可以打开PHP的错误日志,从网上找到解决方法。例如新安装的PHP7,可能要安装以下扩展:
apt-get install php-mysqli
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