摘要:php开发中集成环境的安装是必不可少的技能,而LNMP代表的是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
php开发中集成环境的安装是必不可少的技能,而LNMP代表的是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。今天就给大家分享下LNMP的安装步骤。
1、Nginx安装
在安装Nginx前先执行下更新命令:sudo apt-get update
接下来开始安装Nginx,执行命令后遇到提示选择 ‘y’;sudo apt-get install nginx
安装执行完成后可以打开浏览器输入:http://localhost/ 检验下是否安装成功,出现如下提示代表安装成功。
2、php安装
LNMP中的php包含两部分,php以及php-fpm(PHP FastCGI 进程管理器,用于管理PHP 进程池,用于接受web服务器的请求),php和php-fpm的版本要一致sudo apt-get install [php版本号]
比如选择安装php7.2,安装命令:sudo apt-get install php7.2 php7.2-fmp
3、配置修改
nginx、php、php-fpm都安装好后接下来还需要配置,然后才能在nginx中执行php程序。
①修改 /etc/nginx/sites-available/default 配置文件,修改该文件需要用root权限,这个文件的修改内容截图红色框内所示。sudo vim /etc/nginx/sites-available/defaultserver {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html/;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
#include snippets/fastcgi-php.conf;
#
## With php-fpm (or other unix sockets):
#fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
## With php-cgi (or other tcp sockets):
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_index index.php;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#deny all;
#}
}
②修改www.conf配置文件:
/etc/php/7.2/fpm/pool.d/www.confsudo vim /etc/php/7.2/fpm/pool.d/www.conf
把listen = /run/php/php7.2-fpm.sock
注释掉,在后面加一行:listen = /var/run/php/php7.2-fpm.sock
③修改php.ini配置文件:sudo vim /etc/php/7.2/fpm/php.ini
把 /etc/php/7.2/fpm/php.ini 文件中的 cgi .fix_pathinfo=1 注释去掉,并改为 cgi .fix_pathinfo=0
④修改fastcgi_params配置文件sudo vim /etc/nginx/fastcgi_params
在fastcgi_params文件最后加入一行代码:(最后的‘;’不要掉了),fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
不加的话执行php程序时页面显示一片空白
4、nginx、php集成检验
在根目录下新建一个test.phpsudo vim /var/www/html/test.php
在test.php中输入如下代码:<?php
echo phpinfo();
然后在浏览器中访问 http://localhost/test.php 如果显示界面如下,则nginx、php集成成功
5、mysql安装:
在linux中安装的php默认是没有安装mysql扩展的,需要我们自己安装,因此这里我们在安装mysql是把php的mysql扩展也一起安装了:sudo apt-get install mysql-server mysql-client php7.2-mysql
执行此命令后会同时安装最新的mysql和php7.2的mysql扩展,如果安装过程中没有提示设置mysql的登录用户名和密码,可以参考《ubuntu安装mysql5.7 没有提示输入密码的解决方法》这篇文章修改mysql的密码。
6、用pdo来检验mysql在php中是否可用:
在根目录下创建一个mysql.php文件,在文件中输入如下代码:<?php
try{
$pdo = new PDO('mysql:host=localhost;dbName=mysql;','root','root');
var_dump($pdo);
}catch(Exception $e){
echo $e->getMessage();
}
然后在浏览器中访问:http://localhost/mysql.php
如果页面打印出了pdo对象,则表示mysql在php中是可用的。
到此,LNMP集成环境搭建完毕。
【注意事项】
1、先安装Nginx然后再安装php,否者在安装php是自动安装apache。
2、配置文件的修改需要root权限,所以不要忘了加sudo。
3、如果发现哪一步安装错了,可用通过 sudo apt-get autoremove [软件名] 卸载,然后重新安装。
4、如果访问 http://localhost 时提示403 ,找下这个文件的位置:index.nginx-debian.html 是否与下ngingx配置文件配置的根目录一致。
5、出现502或页面空白,请仔细对第三步的配置修改,看看哪里漏了或者改错了。