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/default
server { 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.conf
sudo 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.php
sudo 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或页面空白,请仔细对第三步的配置修改,看看哪里漏了或者改错了。