前言介绍

  • 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. Python网络编程笔记一

    AF_INET:IPV4 AF_INET6:IPV6 套接字类型: SOCK_STREAM:TCP SOCK_DGRAM:UDP 创建TCP套接字,也可以不传递参数,默认创建TCP套接字 tcpSoc ...

  2. flutter 安装环境 Mac

    1.这是我第二次mac 安装 flutter环境了,但是这种东西记不住.打开写一下 有用的东西 一. ls vi 等命令 command not found原因是因为环境变量的问题,编辑profile ...

  3. ant design 的Table组件固定表头时不对齐

    现在有一个表格,里面的列数是不固定的(可以重复写入数据),且列数行数都可能很多,就带来一个问题: 必须要固定表头,但是antd 的表格组件设置了固定表格 scroll={{x:1000,y:300}} ...

  4. poj1737-----这题有毒

    这题有毒,不取模还会溢出,我哭了 <进阶指南>p337动态规划 公式就是个这了,代码就不贴了,反正是错的,用java算了

  5. 20191114-2 Beta阶段事后诸葛亮会议

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10005 组长组“多彩夕阳”项目beta阶段诸葛亮会议 设想和目标 1.我 ...

  6. 调用第三方库时需注意MD/MT的链接编译方式(遇到的坑记录)

    MD与/MT编译 1./MD是动态库链接方式编译 (DEBUG版本是/MDd) 2./MT是静态库链接方式编译 (DEBUG版本是/MTd) 编译器不会检查到的问题 我今天遇到的记录下来 当你调用第三 ...

  7. 【转】Matlab多项式拟合

    转:https://blog.csdn.net/hwecc/article/details/80308397 例: x = [0.33, 1.12, 1.41, 1.71, 2.19] y = [0. ...

  8. 【转】C#虚方法virtual详解

    转:https://www.cnblogs.com/zhaoshujie/p/10502404.html 在C++.Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象 ...

  9. electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范

    我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...

  10. 关于爬虫的日常复习(18)——scrapy系列3