本文作者:心月

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.rawkpk.live/linux/274.html發布于 2019-07-01
文章轉載或復制請以超鏈接形式并注明出處心月IT博客

分享到:
贊(

發表評論

快捷輸入:

    評論列表 (有 0 條評論,人圍觀)參與討論