前言介绍

  • 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集群架构的更多相关文章

  1. 实战Centos系统部署Codis集群服务

    导读 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可 ...

  2. 实战CentOS系统部署Hadoop集群服务

    导读 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高 ...

  3. CentOS上部署Kubernetes集群

    1.开始前系统环境准备 # 1.设置基本环境 yum install -y net-tools conntrack-tools wget vim ntpdate libseccomp libtool- ...

  4. CentOS下部署Redis集群

    一.部署环境 服务器三台: 10.10.15.41(配置运行两个实例,端口:6379,6380) 10.10.15.42(配置运行两个实例,端口:6381,6382) 10.10.15.43(配置运行 ...

  5. LNMP集群架构篇

    一.LNMP介绍 1.使前端web服务和后端存储服务进行串联 2.主要实现处理php动态请求 工作原理: L:linux  N:nginx  M:mysql   P:php 二.lnmp部署 我的环境 ...

  6. centos 7 部署k8s集群

    架构图: 前期准备 systemctl stop firewalldsystemctl disable firewalld yum -y install ntp systemctl start ntp ...

  7. (二)Kubernetes kubeadm部署k8s集群

    kubeadm介绍 kubeadm是Kubernetes项目自带的及集群构建工具,负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,kubeadm是Kubernetes集群全生命周期的管理 ...

  8. Centos 7 RabbitMQ + Haproxy 集群高可用部署

    一.   功能和原理介绍 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionSc ...

  9. 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群

    庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...

随机推荐

  1. Perl 的继承

    Perl 类的定义 Perl的一个packag可以作为一个类使用,文件后缀名为.pm,并且把package里的函数当作类的方法来用.如: package Person; 创建和使用对象 大多数程序使用 ...

  2. Kali之msf简单的漏洞利用

    1.信息收集 靶机的IP地址为:192.168.173.136 利用nmap工具扫描其开放端口.系统等 整理一下目标系统的相关信息 系统版本:Windows server 2003 开放的端口及服务: ...

  3. 13.python基础试题(二)

    借鉴:https://www.cnblogs.com/shengyang17/p/8543712.html https://www.cnblogs.com/you-wei1/p/9693254.htm ...

  4. com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1680 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.

    这个错误是由于mysql的一个系统参数max_allowed_packet设置的值过小引起的 解决这个错误的方法就是修改这个参数的值, linux系统中我们在etc目录下找到my.cnf这个文件,打开 ...

  5. 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。-----力扣

    给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积. 示例: 输入: [1 ...

  6. python的一些高阶用法

    map的用法 def fn(x): return x*2 L1 = [1,2,3,4,5,6] L2 = list(map(fn,L1)) L2 [2, 4, 6, 8, 10, 12] 通过上面的运 ...

  7. spring 与mybatis 整合

    步骤: pom文件添加依赖 创建包结构 添加application.yml, 配置数据库信息 使用mybatis-gennerator 生成三个文件 实体类 接口类 xml 文件 错误信息 xml 绑 ...

  8. 1025 反转链表 (25 分)C语言

    题目描述 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为 3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5 ...

  9. 还看不懂同事代码?快来补一波 Java 7 语法特性

    前言 Java 平台自出现到目前为止,已经 20 多个年头了,这 20 多年间 Java 也一直作为最流行的程序设计语言之一,不断面临着其他新兴编程语言的挑战与冲击.Java 语言是一种静态强类型语言 ...

  10. 《图解机器学习-杉山将著》读书笔记---CH3

    CH3 最小二乘学习法 重点提炼 提出最小二乘学习法的缘故: 最小二乘学习法公式 对不同模型进行最小二乘法学习,得到最小二乘公式中的参数theta: 1.线性模型   代入3.1公式,对参数求偏导,偏 ...