烂泥:学习ubuntu之快速搭建LNMP环境

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

现在公司使用的都是ubuntu系统,这几天由于个别项目需要,需要搭建一个LNMP环境。为了快速搭建这个环境,我使用是apt-get方式进行安装。具体的操作步骤,看下面的文章。

PS:按照在centos系统下nginx与php-fpm集成是行不通的,因为按照centos下配置的话,nginx访问的主页是空白的。

一、安装nginx

我们首先来安装nginx,使用如下命令:

sudo apt-get -y install nginx

clip_image001

nginx安装完毕后,我们来查看nginx都安装了什么文件。使用如下命令进行查看,如下:

dpkg -S nginx

clip_image002

通过上图,我们可以看出nginx默认的安装位置是/etc/nginx目录,而且nginx的配置文件nginx.conf也是在该目录下。

除此之外,nginx的默认网站目录在/usr/share/nginx/html下,默认nginx网站配置文件为/etc/nginx/sites-available/目录下的default文件。

现在我们来启动nginx,可以使用如下命令:

sudo /etc/init.d/nginx start

sudo service nginx start

以上两条命令都可以启动nginx,我个人比较倾向于使用第一条命令,因为这个是直接通过nginx的启动脚本来启动的。

netstat –tunlp

sudo lsof -i :80

clip_image003

通过网页进行访问看看实际效果,如下:

clip_image004

或者通过curl命令进行访问,如下:

curl http://192.168.1.9

clip_image005

二、安装php与php-fpm

nginx安装完毕后,我们现在来安装php与php-fpm,使用如下命令,如下:

sudo apt-get -y install php5 php5-fpm php5-cli

clip_image006

查看php版本,如下:

php5 -v

clip_image007

三、nginx与php-fpm集成

nginx与php安装完毕后,我们现在开始把nginx与php集成。其实nginx与php集成是通过fastcgi来实现,而fastcgi我们一般使用的是php-fpm。

php-fpm与nginx通信方式有两种,一种是TCP方式,一种是unix socket方式。

TCP方式就是使用TCP端口连接,一般是127.0.0.1:9000。

Socket是使用unix domain socket连接套接字/dev/shm/php-cgi.sock(很多教程使用路径/tmp,而路径/dev/shm是个tmpfs,速度比磁盘快得多),在服务器压力不大的情况下,tcp和socket差别不大,但是在压力比较满的时候,使用套接字方式,效果确实比较好。

3.1 TCP方式

先来修改nginx的默认网站文件default,如下:

sudo vi /etc/nginx/sites-available/default

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params; }

clip_image008

现在来修改nginx的fastcgi_params文件,添加如下命令。

注意:这个命令一定要添加,否则nginx与php集成后,网页会显示空白。

sudo vi /etc/nginx/fastcgi_params

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

clip_image009

修改nginx的默认主页,如下:

sudo vi /usr/share/nginx/html/index.php

<?php phpinfo(); ?>

clip_image010

现在我们再来修改php的配置文件php.ini,如下:

sudo vi /etc/php5/fpm/php.ini +758

clip_image011

除此之外,我们还需要修改php-fpm的配置文件www.conf,如下:

sudo vi /etc/php5/fpm/pool.d/www.conf

listen = 127.0.0.1:9000

clip_image012

以上修改完毕后,我们现在来重启nginx与php-fpm,如下:

sudo /etc/init.d/nginx restart

sudo /etc/init.d/php5-fpm restart

clip_image013

现在我们来访问nginx,如下:

http://192.168.1.9/index.php

clip_image014

现在来查看系统的端口,如下:

netstat -tunlp

clip_image015

以上就是php-fpm与nginx的TCP通信方式。

3.2 socket方式

修改nginx的默认网站文件default,如下:

sudo vi /etc/nginx/sites-available/default

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass unix:/var/run/php5-fpm.sock;

fastcgi_index index.php;

include fastcgi_params; }

clip_image016

现在再来修改php-fpm的配置文件www.conf,如下:

sudo vi /etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm.sock

clip_image017

其他的修改和TCP方式连接的是一样的,现在我们再来重启nginx与php-fpm。如下:

sudo /etc/init.d/nginx restart

sudo /etc/init.d/php5-fpm restart

clip_image013[1]

现在我们再来看看,php-fpm是否占用系统端口。如下:

clip_image018

可以看到此时php-fpm并没有占用系统端口。

四、安装mysql

现在来开始安装mysql,如下:

sudo apt-get –y install mysql-server mysql-client php5-mysql

clip_image019

clip_image020

clip_image021

mysql安装完毕后,我们现在来使用php连接mysql。创建ilanni.php文件,内容如下:

sudo vi /usr/share/nginx/html/ilanni.php

<?php

$host='127.0.0.1';

$root='root';

$pwd='123456';

$con= mysql_connect($host,$root,$pwd);

if ( $con == false ) {

echo "connect false";

} else{

echo "connect true";

}

?>

clip_image022

现在来通过php来访问mysql,如下:

clip_image023

通过上图,我们可以看到php已经正常连接mysql数据库,这也说明mysql也已经安装成功。


本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/1672141

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
29天前
|
Ubuntu Linux Shell
ubuntu的学习与总结
在Ubuntu的学习中,了解了Linux的文件系统结构,所有内容都从根目录/开始,没有像Windows那样的盘符。
49 0
|
3月前
|
IDE Ubuntu Java
百度搜索:蓝易云【Ubuntu快速搭建单步调试openjdk环境】
现在,你已经成功在Ubuntu上搭建了OpenJDK的单步调试环境,可以使用Eclipse IDE方便地进行Java程序的调试。请注意,Eclipse IDE提供了丰富的调试功能,使得调试过程更加高效和准确。
26 0
|
3月前
|
Ubuntu 网络协议 Linux
如何在无公网IP环境使用Windows远程桌面Ubuntu
如何在无公网IP环境使用Windows远程桌面Ubuntu
61 0
|
4月前
|
Ubuntu 测试技术 Linux
dpdk测试环境搭建(vmware下ubuntu环境参考上文汇总流程)
dpdk测试环境搭建(vmware下ubuntu环境参考上文汇总流程)
104 0
|
4月前
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
4月前
|
关系型数据库 应用服务中间件 nginx
基于Docker的LNMP环境微服务搭建
基于Docker的LNMP环境微服务搭建
基于Docker的LNMP环境微服务搭建
|
15天前
|
Ubuntu 开发工具 git
ubuntu18.04下配置muduoC++11环境
以上步骤将在Ubuntu 18.04下配置C++11环境,并编译安装muduo库。请根据实际情况对配置步骤进行调整。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
15 0
|
2月前
|
关系型数据库 MySQL Apache
Ubuntu22.04搭建LAMP环境
LAMP是一个用于构建Web应用程序的技术堆栈,你可以用它开发很多Web程序,比如WordPress。如果你想手工在VPS上搭建WordPress的话,那么你就需要先搭建LAMP环境。这篇文章讲解如何在Ubuntu22.04上搭建LAMP环境。首先,你需要先注册一台VPS服务器,然后登录VPS安装Apache服务、安装MySQL数据库,以及安装PHP。
49 0
Ubuntu22.04搭建LAMP环境
|
2月前
|
安全 应用服务中间件 开发工具
Ubuntu20安装docker并部署相关漏洞环境
Ubuntu20安装docker并部署相关漏洞环境
52 0
|
2月前
|
并行计算 Ubuntu 异构计算
百度搜索:蓝易云【Ubuntu环境下的cuda安装】
安装完成后,CUDA就成功安装在Ubuntu系统中了,你可以开始使用CUDA来进行GPU加速的计算。请注意,安装CUDA可能会影响系统的稳定性,建议在安装前备份重要数据,并确保对操作有足够的了解。如果不确定如何操作,建议寻求专业的帮助或咨询。
39 7