一键安装稳定版本【https://lnmp.org/install.html】

wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp


网上有一些教程,比如lnmp配置1lnmp 配置2,我自己参考着大神的经验,自己下载了一个ubuntu kylin15.10版本,并且从头到尾配置了一遍,补上几个可能遇到的坑,写下这个还算详细的教程,适合linux新手参考。

首先有几个linux命令要熟悉一下,接下来配置的时候才能提高效率,个人推荐20个常用linux命令,ls,find,cd,cat,vim,gedit,touch,mkdir,mv,rm这些命令可以先熟悉或者回忆一下。

经常用sudo开头是为了保证安全,如果觉得烦,可以用sudo su命令切换到最高权限。

注意,这里使用的是ubuntu yklin15.10版本,网上的参考资料也比较多,16.10的源安装php时为php7.0,同时会安装好apache2。本文以ubuntu yklin15.10为例。

第一步:输入命令 sudo apt-get update 进行更新

刚下载好的ubuntu kylin15.10下载地址一般源是没问题的 ,先用命令更新。

如果出现“could not get lock /var/lib/apt/lists/lock”,可能是进程被占用了,最简单暴力的方式就是重启。也可以参考这篇文章could not get lock /var/lib/apt/lists/lock

如果源有问题,到sudo vim /etc/apt/sources.list修改源。


第二步:安装nginx

运行sudo apt-get install nginx (nginx 1.9.3版本)安装nginx,

运行sudo /etc/init.d/nginx start (或者 service nginx start) 启动nginx服务。

这一步完成后,可以用命令dpkg -s nginx查看版本信息,同时网址输入localhost,会看到Welcome to nginx!页面。

如果提示upable to locate package nginx,仔细查看一下有没有打错单词。


第三步:安装php

运行 sudo apt-get install php5 php5-cli php5-cgi php5-mysql (php 5.6.11版本)。

同理,安装完之后,可以用命令dpkg -s php5查看版本信息。

如果有要重启的话,命令是service php5-fpm reload。


第四步:安装mysql

运行 sudo apt-get install mysql-server mysql-client (mysql 5.6.27版本)会提示输入root帐号密码。

安装完后,输入命令 mysql -u root -p, 输入密码进入mysql数据库。

在这里,可能会出现进不去的情况,denied for user'root'@'localhost'。

原因:MySQL生成了用户的随机密码。
解决办法是,先运行sudo cat /etc/mysql/debian.cnf,使用其提供的用户名,一般是debian-sys-main,记下随机密码,是一串字符。

运行mysql -u debian-sys-maint -p,用提供的密码进入欢迎页面。
接下来是修改密码:
使用mysql表:

mysql> use mysql;
修改root用户的密码:mysql> update user set password=password('root') where user='root';
使生效:
mysql> flush privileges;
用quit;命令退出。
这样,下次进去的时候,用mysql -u root -p命令和root密码就可以进去了。

运行 grant all on *.* to root@'%' identified by '123456'; 更改数据库用户的权限。

运行 flush privileges; 刷新让权限生效。

运行 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将 bind-address = 127.0.0.1 前面加个#号 注释掉,就可以远程连接数据库了。


第五步:安装php5-fpm

运行 sudo apt-get install php5-fpm

如果安装的是16.10的版本,输入命令是sudo apt-get install php7.0

最后是配置和测试,直接照搬就可以了:


第六步:配置nginx.conf
配置/etc/nginx/nginx.conf

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak 
sudo gedit /etc/nginx/nginx.conf 

搜索文字worker_processes找到worker_processes auto;改为worker_processes 4;
搜索文字keepalive_timeout找到keepalive_timeout 65;改为keepalive_timeout 2;


第七步:配置Nginx让其使用php-fpm进程

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak 
sudo gedit /etc/nginx/sites-available/default 

更改如下,直接复制替换

server { 
 listen 80 default_server; 
 listen [::]:80 default_server ipv6only=on;  root /usr/share/nginx/html; 
 index index.php index.html index.htm;  server_name server_domain_name_or_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; 
 fastcgi_index index.php; 
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
 include fastcgi_params; 
 } 
 }

重新加载nginx

service nginx reload


第八步:配置PHP,修改php.ini文件

sudo gedit /etc/php5/fpm/php.ini 

设置,取消分号;将1改为0

cgi.fix_pathinfo=0: 

重新加载 PHP-FPM:

service php5-fpm reload 


接下来是测试:


1、测试php
创建探针文件info.php到/usr/share/nginx/html目录下

sudo gedit /usr/share/nginx/html/info.php 

<?php 
phpinfo(); 
?> 

浏览器访问探针文件http://127.0.0.1/info.php
如果出现PHP版本信息说明配置成功

2、测试mysql
创建测试文件sqltest.php到/usr/share/nginx/html目录下

sudo gedit /usr/share/nginx/html/sqltest.php 

<?php 
$link=mysql_connect("localhost","root","root"); 
if(!$link) echo "FAILD!"; 
else echo "OK!"; 
?> 

访问http://127.0.0.1/sqltest.php
如果出现OK字符说明mysql配置成功。

一般这样子走下来,就可以在ubuntu kylin15.10上成功搭建lnmp了。


如果不使用命令行,可以使用phpstudy。

centos一般是用yum搭建,网上资料也是比较齐全的。

虚拟机软件建议vmware workstation和Oracle VM VirtualBox都装上,出现无法解决的问题时候,考虑换个镜像之前,可以考虑换个虚拟机软件试试。