Centos 7 部署lnmp集群架构
前言介绍
- lnmp的全程是 linux + nginx + mysql + php;
- lnmp就是上述系统及应用程序的简写组合;
- lnmp其实已经代表了一个用户正常对一个页面请求的流程,nginx接收请求,mysql进行数据存储,php进行后端处理;类似的架构还有lamp或者 linux + nginx + mysql + java等等;
- lnmp又叫lemp,外国人喜欢叫lemp,中国人喜欢叫lnmp;
- lnmp相比于lamp架构的优势在于轻便、操作相对简单;lamp优势相对于nginx而言模块丰富;
环境配置
| 编号 | 软件 | 版本 |
| 1 | Centos | 7 |
| 2 | nginx | 1.175 |
| 3 | mysql | 5.7 |
| 4 | php | 7.5 |
PS:操作系统属于最小化安装,所有操作均属于在线操作,但也可以用离线操作进行替换;所有的部署操作皆按照下述操作实施。并且我在机器上面部署了ss,用来做http及https的代理请求,因为我家里的网络皆这些开源官网实在太卡了
部署详情
1、安装前的准备
sed -i 's/enforcing/disabled/' /etc/selinux/config
rpm -qa | grep "firewall" | xargs rpm -e --nodeps
rpm -qa | grep "iptables" | xargs rpm -e --nodeps
sed -i 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
systemctl restart sshd
reboot
2、安装ss代理
https://www.cnblogs.com/guge-94/p/11363303.html
3、安装数据库
https://www.cnblogs.com/guge-94/p/10552374.html
4、安装php
yum -y install libxml2 libxml2-devel openssl openssl-devel zlib zlib-devel pcre pcre-devel
wget http://45.252.224.82/files/223900000DDAF9C0/zlib.net/zlib-1.2.11.tar.gz -P /opt/
tar -zxf /opt/zlib-1.2..tar.gz -C /opt/
cd /opt/zlib-1.2.
./configure --prefix=/usr/local/zlib && make -j8 && make install
wget https://www.php.net/distributions/php-7.3.11.tar.gz -P /opt/
tar -zxf /opt/php-7.3..tar.gz -C /opt/
cd /opt/php-7.3.
./configure --prefix=/usr/local/php --with-mysqli=/usr/local/mysql/bin/mysql_config --with-zlib-dir=/usr/local/zlib/ --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-bcmath --enable-shmop --enable-ftp --with-openssl
make -j8 && make install
make test # 这个测试过程格外的漫长,可选择执行;主要用来测试编译的结果 # 生成配置文件
PS:源码编译安装中包含fpm的代码,但是yum安装或者在线安装是需要单独指定
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /opt/php-7.3./php.ini-production /usr/local/php/lib/php.ini
cp /opt/php-7.3./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf # 基本配置
chmod a+x /etc/init.d/php-fpm
groupadd www
useradd -s /sbin/nologin -g www -M www
/etc/init.d/php-fpm start
ln -s /usr/local/php/bin/* /usr/bin/
PS:我这里并没有像网上那样,安装lnmp或者lamp环境的时候,搞上一大堆插件;其一一般人并不知道所有插件的功能,依赖插件或者扩展库的功能得根据相应的业务场景来定,其二我这里只是实验,如果后续你想添加任何插件,请在文章的基础之上做添加
5、安装nginx
https://www.cnblogs.com/guge-94/p/11758498.html
6、检测安装结果
mkdir -p /data/www
cat /data/www/index.php
# 写一个简单的php检测一下整个lnmp环境
<html>
<head>
<title>PHP 测试</title>
</head>
<body>
<?php echo '<p>Hello World!</p>'; ?>
</body>
</html> cat /etc/nginx/nginx.conf
# 这是一份关于nginx的基础配置,如需自行优化可在这个基础上进行优化
user www www;
worker_processes ; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
server {
listen ;
server_name localhost;
index index.php index.html index.htm;
root /data/www;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
} chown -R www.www /data/www
nginx -t
nginx -s reload
上面的操作完成之后通过浏览器或curl请求一下主机地址即可
Centos 7 部署lnmp集群架构的更多相关文章
- 实战Centos系统部署Codis集群服务
导读 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可 ...
- 实战CentOS系统部署Hadoop集群服务
导读 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高 ...
- CentOS上部署Kubernetes集群
1.开始前系统环境准备 # 1.设置基本环境 yum install -y net-tools conntrack-tools wget vim ntpdate libseccomp libtool- ...
- CentOS下部署Redis集群
一.部署环境 服务器三台: 10.10.15.41(配置运行两个实例,端口:6379,6380) 10.10.15.42(配置运行两个实例,端口:6381,6382) 10.10.15.43(配置运行 ...
- LNMP集群架构篇
一.LNMP介绍 1.使前端web服务和后端存储服务进行串联 2.主要实现处理php动态请求 工作原理: L:linux N:nginx M:mysql P:php 二.lnmp部署 我的环境 ...
- centos 7 部署k8s集群
架构图: 前期准备 systemctl stop firewalldsystemctl disable firewalld yum -y install ntp systemctl start ntp ...
- (二)Kubernetes kubeadm部署k8s集群
kubeadm介绍 kubeadm是Kubernetes项目自带的及集群构建工具,负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,kubeadm是Kubernetes集群全生命周期的管理 ...
- Centos 7 RabbitMQ + Haproxy 集群高可用部署
一. 功能和原理介绍 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionSc ...
- 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群
庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介 前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...
随机推荐
- 基于 HTML5 + WebGL 的无人机 3D 可视化系统
前言 近年来,无人机的发展越发迅速,既可民用于航拍,又可军用于侦察,涉及行业广泛,也被称为“会飞的照相机”.但作为军事使用,无人机的各项性能要求更加严格.重要.本系统则是通过 Hightopo 的 ...
- shiro采坑指南—基础概念与实战
说明 代码及部分相关资料根据慕课网Mark老师的视频进行整理. 其他资料: shiro官网 基础概念 Authenticate/Authentication(认证) 认证是指检查用户身份合 ...
- 由数据迁移至MongoDB导致的数据不一致问题及解决方案
故事背景 企业现状 2019年年初,我接到了一个神秘电话,电话那头竟然准确的说出了我的昵称:上海小胖. 我想这事情不简单,就回了句:您好,我是小胖,请问您是? "我就是刚刚加了你微信的 xx ...
- C#事件(Event): 发布符合 .NET Framework Guidelines 的事件
本文翻译整理自:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/events/how-to-publish-event ...
- lucene&tantivy对比
写入对比每个路径下都只能有一个IndexWriter负责写入,通过writer.lock实现.不同:lucene可以多个线程共享一个IndexWriter,每个线程负责写一个segment,从addD ...
- GDAL集成GEOS
因为要用到缓冲区分析,在使用Buffer的时候提示:ERROR 6: GEOS support not enabled,查了一下资料需要集成GEOS库.因为GDLA默认编译是没有集成GEOS库的. 现 ...
- centos7 安装jdk8和maven3
centos7 安装jdk8和maven3 标签(空格分隔): java,linux jdk 第一种安装: yum install java-1.8.0-openjdk /usr/lib/jvm/ 默 ...
- Java零基础搭建实时直播平台
https://www.cnblogs.com/scywkl/p/12101437.html
- 打造m3u8视频(流视频)下载解密合并器(kotlin)
本文是对我原创工具m3u8视频下载合并器关键代码解析及软件实现的思路的讲解,想要工具的请跳转链接 1.思路说明 思路挺简单,具体步骤如下: 下载m3u8文件 解析m3u8文件获得ts文件列表 根据文件 ...
- kuangbin专题 专题九 连通图 Strongly connected HDU - 4635
题目链接:https://vjudge.net/problem/HDU-4635 题目:有向图,给定若干个连通图,求最多还能添加几条边,添完边后,图仍然要满足 (1)是简单图,即没有重边或者自环 (2 ...