本文作者:心月

ubuntu系统下安装LNMP集成环境的详细步骤

心月IT博客 2019-05-27
摘要: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

安装nginx

安装执行完成后可以打开浏览器输入:http://localhost/ 检验下是否安装成功,出现如下提示代表安装成功。

nginx安装成功检验


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

php安装

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;
	#}
}

nginx配置

②修改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

修改www.conf配置文件

③修改php.ini配置文件:

把 /etc/php5/fpm/php.ini 文件中的 cgi .fix_pathinfo=1 注释去掉,并改为 cgi .fix_pathinfo=0

修改php.ini配置文件

④修改fastcgi_params配置文件

在fastcgi_params文件最后加入一行代码:(最后的‘;’不要掉了),

fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

不加的话执行php程序时页面显示一片空白

修改fastcgi_params配置文件


4、nginx、php集成检验

在根目录下新建一个test.php

sudo vim /var/www/html/test.php

在test.php中输入如下代码:

<?php
    
    echo phpinfo();

然后在浏览器中访问 http://localhost/test.php  如果显示界面如下,则nginx、php集成成功

phpinfo.jpg


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中是可用的。

mysql可用性检验

到此,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或页面空白,请仔细对第三步的配置修改,看看哪里漏了或者改错了。

文章版权及转载声明:

作者:心月 本文地址:http://www.xinyueseo.com/linux/274.html发布于 2019-09-07
文章转载或复制请以超链接形式并注明出处心月IT博客

分享到:
赞(

发表评论

快捷输入:

    评论列表 (有 0 条评论,人围观)参与讨论