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/ 下,如果配置没有问题就是可以直接跳转到安装界面,安装注册并连接到数据库之后,就是这样:

 

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
205 1
|
3月前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
22天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
182 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
18天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
60 2
|
1月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
99 1
|
1月前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
68 1
|
1月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
47 1
|
3月前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
434 8
centos7 mysql安装及配置
|
2月前
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
180 1
CentOS 7.x时间同步服务chrony配置详解
|
1月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
225 0

热门文章

最新文章