centos7 配置LNMP环境

这篇具有很好参考价值的文章主要介绍了centos7 配置LNMP环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LNMP环境的搭建

随着我们 Nginx web 服务器的流行,又出现了我们叫做 LNMP 的一种新的 web 环境服务组合。LNMP 就是 Linux + Nginx + Mysql + PHP 等首字母的缩写。现在, LNMP 已经逐渐成为国内大中型互联网公司网站的主流组合环境, 因此, 我们必须熟练掌握 LNMP 环境的搭建、优化及维护方法。

LNMP工作流程

首先,我们的客户端通过浏览器域名请求我们的 Nginx web 服务,如果客户端请求的是静态资源,那么直接由我们的 Nginx 服务解析并返回给客户端。如果客户端请求的是动态资源,那么 Nginx 就会把他的请求通过 FastCGI 接口发送给 php 引擎服务(php-fpm)进行解析并返回,如果这个请求要调用数据库,那么 php 就会继续向后请求 MySQL 数据库,以读取所需要的数据,最后通过 Nginx 将结果返回给客户端。

FastCGI接口

CGI 的全称为 “通用网关接口”( Common Gateway Interface ), 为 HTTP 服务器与其他机器上的程序服务通信交流的一种工具, CGI 程序须运行在网络服务器上。传统 CGI 接口方式的主要缺点是性能较差,因为每次 HTTP 服务器遇到动态程序时都需要重新启动解析器来执行解析,之后结果才会被返回给 HTTP 服务器。这在处理高并发访问时几乎是不可用的, 因此就诞生了 FastCGI。 另外,传统的 CGI 接口方式安全性也很差, 故而现在已经很少被使用了。

FastCGI 是一种用于在 Web 服务器和应用程序之间提供高性能和可扩展性的协议。与早期的 CGI 协议不同,FastCGI 允许 Web 服务器重用已加载到内存中的应用程序,避免了每个请求都需要重新加载的开销,从而提高了性能和响应速度。

FastCGI 协议还支持多线程操作,这使得它能够处理高并发请求。此外,FastCGI 协议还允许 Web 服务器与多个应用程序进行通信,这使得它更加灵活和可扩展。许多 Web 服务器和编程语言都支持 FastCGI 协议,包括 Apache、Nginx、PHP、Python 和 Ruby 等。

配置LNMP

部署环境

因为我这边是用的是 centos7 的环境,yum没有办法直接安装 nginx 服务,所以需要安装拓展源,这边安装阿里云的 epel。

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

安装所需要的服务

yum install nginx mariadb-server php php-mysql php-gd php-fpm -y

配置环境

配置数据库

# systemctl enable mariadb --now
# mysqladmin -uroot psd '123456'

修改 nginx 的配置文件

server {
		listen	80;
		server_name	localhost;
		location / {
				root html;
				index index.html index.htm index.php;	# 添加上.php为后缀的文件
		}
location ~ \.php$ {
		root /usr/share/nginx/html;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include fastcgi_params;
}
}

修改php配置文件

/etc/php.ini增加以下两行。
cgi.fix_pathinfo=0
date.timezone ="Asia/shanghai"
[root@web01 ~]# egrep '^user|^group' /etc/php-fpm.d/www.conf 
user = nginx
group = nginx

这个文件里的user、group都是apache,所以我们要把它修改成nginx

启动服务

systemctl restart nginx mariadb php-fpm

测试

nginx 和 php 协同:

[root@node1 conf.d]# echo "<?php phpinfo(); ?>" >/usr/share/nginx/html/test.php
[root@node1 conf.d]# systemctl restart nginx

测试 mysql 和 php 协同:

[root@node2 conf.d]# cat /usr/share/nginx/html/mysql.php
<?php
$con = mysql_connect("localhost","root","12345");
if (!$con) {
die("could not connect to the db:\n" . mysql_error());
}
else { echo "success"; }
mysql_close($con);
?>

测试完毕,删除测试的.php文件

rm -f /usr/share/nginx/html/*.php

安装 Discuz

解压到我们的 /usr/share/nginx/html/ 下,如果配置没有问题就是可以直接跳转到安装界面,安装注册并连接到数据库之后,就是这样:文章来源地址https://www.toymoban.com/news/detail-420994.html

到了这里,关于centos7 配置LNMP环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker搭建LNMP环境实战(07):安装nginx

    假设我要搭建一个站点,假设虚拟的域名为:api.test.site,利用docker实现nginx+php-fpm+mariadb部署。 2.1、dockers根目录 由于目前的安装是基于Win10+VMWare+CentOS虚拟机,同时已经安装了VMWareTools,并配置了虚拟目录,虚拟目录是仅仅是为了简化文件的传输,虚拟目录在CentOS里的全路径为

    2024年04月17日
    浏览(43)
  • 在 CentOS 7.4 上使用 Docker极速部署 LNMP (Linux, Nginx, MySQL, PHP) 环境和 WordPress

    前置CentOS7条件: 关闭防护墙: setenforce = 0 systemctl stop firewalld 1. 安装 Docker* 如果你的系统中还没有安装 Docker,可以使用以下命令进行安装:   sudo yum install docker 启动 Docker 服务并设置开机自启: sudo systemctl start docker sudo systemctl enable docker 2. 安装 Docker Compose Docker Compose 可以让

    2024年01月17日
    浏览(48)
  • 打造高性能网站:使用 nginx、MySQL 和 PHP 编译,搭建 LNMP 环境并安装 WordPress实战

    🏠个人主页:我是沐风晓月 🧑个人简介:大家好,我是沐风晓月,阿里云社区博客专家😉😉 💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺 💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘 本次实验环境见下表

    2024年02月07日
    浏览(52)
  • CentOS系统环境搭建(一)——Centos7更新

    执行后,系统将更新到centos 7.9。 从这一篇文章开始开始,我将开始在centos系统环境搭建🔗https://blog.csdn.net/weixin_43982359/category_12411496.html中开始对CentOS系统环境搭建进行连载,包括但不限于如下:更新内核,同步网络时间,安装Java,安装maven,安装docker,安装Docker Compose,安

    2024年02月12日
    浏览(43)
  • CentOS系统环境搭建(五)——Centos7安装maven

    centos系统环境搭建专栏🔗点击跳转 maven下载官网 压缩包放置到/usr/local 在最下面追加 重载环境变量 进入 /usr/local/apache-maven-3.9.2/conf/ 设置setting文件(不再赘述)。

    2024年02月12日
    浏览(61)
  • CentOS系统环境搭建(十二)——CentOS7安装Elasticsearch

    centos系统环境搭建专栏🔗点击跳转 🔗https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-6 若你是centos64位服务器,下载LINUX X86_64,下载后上传到linux服务器。 上传至/usr/local/ 进入/usr/local/ 执行解压 若你电脑性能强劲,这个应该可以不改。 修改为1g内存占用。 在当前版本,已

    2024年02月12日
    浏览(52)
  • CentOS系统环境搭建(七)——Centos7安装MySQL

    centos系统环境搭建专栏🔗点击跳转 坦诚地说,本文中百分之九十的内容都来自于该文章🔗Linux:CentOS7安装MySQL8(详),十分佩服大佬文章结构合理,文笔清晰,我曾经在这篇文章指导下成功安装mysql。今天,想把内容搬运写到此博客,方便查看。 1.1、卸载 MariaDB 1.1.1、Mari

    2024年02月12日
    浏览(57)
  • CentOS系统环境搭建(四)——Centos7安装Java

    centos系统环境搭建专栏🔗点击跳转

    2024年02月12日
    浏览(55)
  • CentOS系统环境搭建(十三)——CentOS7安装nvm

    centos系统环境搭建专栏🔗点击跳转 在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS 运行环境。如果没有一个合适的工具,这个问题将非常棘手。由此nvm应运而生。nvm是一个node管理工具。使用 nvm No

    2024年02月12日
    浏览(45)
  • CentOS7自签SSL证书并配置nginx

    一、生成SSL证书 1、安装依赖包       yum install -y openssl openssl-devel 2、生成私钥,会让你输入一个 4~2048 位的密码,你需要暂时记住这个密码       openssl genrsa -des3 -out server.key 2048 输入两遍相同的密码 3、生成CSR(Certificate Signing Request 证书签名请求 ) 输入以下命令:       op

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包