黄金架构编译部署

LNMP黄金架构部署

行走的CD:
LNMP的解析过程:提到 LNMP的解析过程,我们应需要了解一个概念 CGI, CGI 就是指一个通用网关接口,用于 HTTP 服务器和其他应用服务器通讯的一个工具,在这 HTTP 服务器一般咱们就是指的是 Nginx、 Apache 等 Web 服务器,其他应用服务器一般是指的指另一个动态服务器上安装的 Python、 PHP 脚本编程语言编写的一个逻辑框架。传统的 CGI 的性能都比较弱,当 HTTP 给后端一个动态请求,都需要重启一下 CGI 解析器,也就是重启 PHP 写的这个脚本框架,然后处理完毕后再发给 Nginx,那如果是一个高并发的情况下,服务器会产生巨大的性能压力,它的处理效率会非常差,因此就会诞生了另一个工具叫 FASTCGI。FASTCGI 是一个可伸缩高效的活动在 HTTP 服务器与动态脚本之间通讯的网关接口,如果 HTTP 服务器与后端程序运行的两台分别部署在两台服务器上,这个 FASTCGI 的通讯形式就是 IP 加端口的网络通讯形式,如果在一台服务器上,那么就是一般是指用 socket 就可以进行本地通信。在Linux环境下,Fastcgi其实就是一个socket套接字文件。fastcgi进程管理器,也就是一个模块fastcgi_pass,咱们的静态请求 Nginx 会直接处理完之后返回给用户,动态请求 Nginx 会转发给 fastcgi +PHP, 其实也就是 fastcgi 和 PHP 的一个结合。

nginx源码安装

1.下载依赖包
yum -y install pcre pcre-devel openssl openssl-devel gcc make zlib-devel2.下载nginx源码包
wget https://nginx.org/download/nginx-1.16.1.tar.gz
mkdir -p /usr/lnmp/nginx
useradd nginx  -s /sbin/nologin -M
tar -zxf nginx-1.16.1.tar.gz3.编译安装
cd nginx*
./configure --user=nginx --group=nginx --prefix=/usr/lnmp/nginx
make && make install4.配置nginx的环境变量
echo "export PATH=$PATH:/usr/lnmp/nginx/sbin" >>/etc/profile
source /etc/profile5.启动nginx
nginx
ss -nplt 

mysql源码安装

1.下载依赖包
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake2.下载mysql源码包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz
useradd -r mysql -M -s /bin/nologin
mkdir -p /usr/lnmp/{mysql,data,log}
tar xzvf mysql-boost-5.7.27.tar.gz3.编译安装
cd mysql-5.7.27/cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/lnmp/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/lnmp/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1make -j3 && make install4.初始化
cd /usr/lnmp/mysql
chown -R mysql.mysql .
./bin/mysqld --initialize --user=mysql --basedir=/usr/lnmp/mysql --datadir=/usr/lnmp/data
vim /etc/my.cnf[mysqld]
basedir=/usr/lnmp/mysql     
datadir=/usr/lnmp/data 5.启动mysql
/usr/lnmp/mysql/bin/mysqld_safe --user=mysql &
启动之后再按一下回车!即可后台运行6.修改启动方式
cp support-files/mysql.server /etc/init.d/mysqld
systemctl daemon-reload
systemctl start mysqld
netstat -lntp | grep 3306
/usr/local/mysql/bin/mysql -uroot -p'GP9TKGgY9i/8'7.配置环境变量
echo "export PATH=$PATH:/usr/lnmp/mysql/bin" >>/etc/profile
source /etc/profile

php源码安装

1.下载依赖包
yum install -y apr* autoconf automake bison bzip2 bzip2* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libxml* libXaw-devel libXmu-devel libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm*  zlib-devel2.libiconv 包的编译安装
yum源中缺少libiconv包,用于php的编码转换
wget  http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar xf libiconv-1.14.tar.gz 
cd libiconv-1.14 
./configure --prefix=/usr/lnmp/libiconv
sed -i -e '/gets is a security/d' srclib/stdio.in.h
make -j4 && make install3.下载php源码包
wget  https://www.php.net/distributions/php-8.3.4.tar.gz 
tar xf php-8.3.4.tar.gz 
cd php-8.3.44.编译安装php
./configure  --prefix=/usr/lnmp/php --with-config-file-path=/usr/lnmp/php  --with-config-file-scan-dir=/usr/lnmp/php/php.d --enable-mysqlnd  --with-mysqli  --with-pdo-mysql  --enable-fpm  --with-fpm-user=nginx  --with-fpm-group=nginx  --with-gd   --with-iconv  --enable-xml   --enable-shmop  --enable-sysvsem  --enable-inline-optimization  --enable-mbregex  --enable-mbstring --enable-ftp  --with-openssl   --enable-pcntl    --enable-sockets --with-xmlrpc  --enable-soap  --without-pear   --with-gettext  --enable-session  --with-curl --with-jpeg-dir  --with-freetype-dir  --enable-opcache
make -j4 && make install5.配置开发环境文件
cp php.ini-production /usr/lnmp/php/lib/php.ini
vim +1384 /usr/lnmp/php/lib/php.ini
打开session.save_path ="/tmp"6.FastCGI的配置文件
cd /usr/lnmp/php/etc/
ls
php-fpm.conf.default php-fpm.d 
cp php-fpm.conf.default php-fpm.conf
vim +17 php-fpm.conf
#17行将注释取消并修改
pid = /var/run/php-fpm.pid cd /usr/lnmp/php/etc/php-fpm.d/
cp www.conf.default www.conf7.启动php服务
/usr/lnmp/php/sbin/php-fpm 
netstat -tunlp|grep php 

联动nginx

1.修改nginx配置文件,添加以下内容
vim /usr/lnmp/nginx/conf/nginx.conf
#在location /下添加  index.php 
#在location~ \.php$ 将/scripts改为/usr/local/nginx/html
2.重新加载nginx
nginx -s reload
3.添加php文件测试
cd /usr/lnmp/nginx/html/
vim index.php
<h1>always on line </h1>
<?php
phpinfo();
?>
4.访问

部署WordPress

1.下载并解压wordpress安装包
tar xf wordpress-*
rm -rf /usr/lnmp/nginx/html/*
cp -r wordpress/* /usr/lnmp/nginx/html/   # 将代码拷贝到网站发布目录中
nginx -s reload
2.创建数据库
mysql -pQianfeng@123 -e "create database wordpress;"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java | Leetcode Java题解之第201题数字范围按位与

题目&#xff1a; 题解&#xff1a; class Solution {public int rangeBitwiseAnd(int m, int n) {while (m < n) {// 抹去最右边的 1n n & (n - 1);}return n;} }

获取当前操作系统的名称platform.system()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 获取当前操作系统的名称 platform.system() [太阳]选择题 在Python中&#xff0c;platform.system() 函数被用来获取什么信息&#xff1f; import platform print("【执行】platform.s…

如何在Java中实现自定义数据结构

如何在Java中实现自定义数据结构 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我将为大家介绍如何在Java中实现自定义数据结构。尽管Java提供了丰富的内置…

05 threeJs基础---阵列立方体和相机适配体验立方体

1.增加相机视角fov 注&#xff1a; 范围更大&#xff0c;意味着可以看到渲染范围更大&#xff0c;远小近大的视觉效果更明显 fov:眼球张开的角度&#xff0c;0时相当于闭眼。aspect:可视区域横纵比。near:眼睛能看到的最近垂直距离。far&#xff1a;眼睛能看到的最远垂直距离。…

Python中的@property装饰器:深入理解与应用

Python中的property装饰器&#xff1a;深入理解与应用 在Python中&#xff0c;property装饰器是一个强大的工具&#xff0c;它允许我们将方法作为属性来访问&#xff0c;使得代码更加简洁、清晰&#xff0c;并提供了更好的封装性。本文将深入探讨property装饰器的工作原理、应…

字节数组输出流转换为Base64方法记录

1. 今天在做字节数组转换Base64的时候遇到一个问题&#xff0c;转换成的Base64字符串自动换行&#xff0c;导致传输失败 关键代码&#xff1a; ByteArrayOutputStream out new ByteArrayOutputStream(); ............. BASE64Encoder encoder new BASE64Encoder(); Stri…

Python 3 循环语句

Python 3 循环语句 Python 是一种广泛使用的高级编程语言,以其简洁明了的语法和强大的功能而闻名。在 Python 中,循环语句是控制程序流程的关键组成部分,它们允许我们重复执行代码块,直到满足特定的条件。Python 3 提供了几种循环语句,包括 for 循环和 while 循环,以及一…

由于没有远程桌面授权服务器怎么办?

在现代的工作环境中&#xff0c;远程访问和远程桌面控制已经成为一项日益重要的需求。随着企业和组织的扩张&#xff0c;人们经常需要在不同的地点之间共享文件和应用程序。由于缺乏远程桌面授权服务器&#xff0c;这一过程可能会变得困难和不安全。 远程桌面授权服务器是一种…

day02-登录模块-主页鉴权

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.分析登录流程1.1传统思路是登录校验通过之后&#xff0c;直接调用接口&#xff0c;获取token之后&#xff0c;跳转到主页1.2vue-element-admin模板的登录思路&…

信息(文字、图像、音频、视频等)在计算机中是如何存储及显示的

信息&#xff08;文字、图像、音频、视频等&#xff09;在计算机中是如何存储及显示的 图片的存储图片的文件格式像素数据的二进制表示存储和处理显示总结 图片的显示4. 像素点控制具体的像素控制过程示例总结 如题&#xff0c;这里以图片为例。 图片的存储 计算机桌面上的一…

基于盲信号处理的声音分离-基于改进的信息最大化的ICA算法

基于信息最大化的ICA算法的主要依据是使输入端与输出端的互信息达到最大&#xff0c;且输出各个分量之间的相关性最小化&#xff0c;即输出各个分量之间互信息量最小化&#xff0c;其算法的系统框图如图所示。 基于信息最大化的ICA算法的主要依据是使输入端与输出端的互信息达到…

华侨大学24计算机考研数据速览,专硕22408复试线290分,学硕11408接收调剂!

华侨大学计算机专业创建于1980年&#xff0c;是福建省最早设立计算机专业的高校之一。1982年成立计算机系&#xff0c;2008年成立计算机科学与技术学院。根据“华侨大学计算机科学与技术学院网站”资料&#xff0c;该院有计算机科学与技术、软件工程、网络工程3个本科专业&…

java中常见数据结构

ArrayList 是 Java 集合框架&#xff08;Java Collections Framework&#xff09;中的一个重要类&#xff0c;它实现了 List 接口&#xff0c;并提供了动态数组的功能。以下是 ArrayList 上的一些常用方法&#xff1a; 构造方法&#xff1a; ArrayList<E>(): 构造一个空的…

git基本使用(二):git分支的操作命令

Git 的多分支管理是指在同一个仓库中创建和管理多个分支&#xff0c;每个分支可以独立开发&#xff0c;互不干扰。分支是 Git 中的一种强大功能&#xff0c;允许开发人员同时在多个不同的功能、修复或实验上工作&#xff0c;而不会影响主分支或其他分支。通过多分支管理&#x…

spring-boot-starter-json配置对象属性为空不显示

问题背景 在Spring Boot中使用spring-boot-starter-json&#xff08;通常是通过jackson实现的&#xff09;时&#xff0c;如果你希望在序列化对象时&#xff0c;如果某个属性为空&#xff0c;则不显示该属性&#xff0c;你可以使用JsonInclude注解来实现这一点。 pom.xml <…

Java数据结构算法(最长递增序列二分查找)

前言: 最长递增子序列&#xff08;Longest Increasing Subsequence, LIS&#xff09;是指在一个给定的序列中&#xff0c;找到一个最长的子序列&#xff0c;使得这个子序列中的元素是单调递增的。子序列不要求在原序列中连续。 实现原理 使用一个 tails 列表&#xff0c;其中…

Java对象集合按照指定元素顺序排序

需求背景 最近在对一个集合列表的数据进行排序&#xff0c;需求是要集合数据按照一个排序状态值进行排序&#xff0c;而这个状态值&#xff0c;不是按照从小到大这样的顺序排序的&#xff0c;而是要按照特定的顺序&#xff0c;比如按照1, 0, 2的顺序排的&#xff0c;所以需要自…

clickhouse count和uniqCombined

count(distinct ) 和 uniqCombined 获取去重后的总数。 去重&#xff1a;order by distinct argMax group by 哪个好&#xff1f;&#xff1f; clickhouse数据去重函数介绍&#xff08;count distinct&#xff09;_clickhouse distinct-CSDN博客

stm32-USART通信

什么是usart&#xff1f;和其他通信又有什么区别&#xff1f; 如下图&#xff1a; USART是一种用于串行通信的设备&#xff0c;可以在同步和异步模式下工作。 usart有两根数据线&#xff0c;一根发送线&#xff08;tx&#xff09;一根接收线&#xff08;rx&#xff09;&#x…

2D卷积核处理3D(时序)数据

2D卷积核处理3D&#xff08;时序&#xff09;数据 一、Make A Video的处理方法&#xff08;PseudoConv3d&#xff09;二、Tune A Video的处理方法&#xff08;InflatedConv3d&#xff09;比较与分析相似点不同点结论 Conv2D一般用于处理image&#xff0c;dim一般是4&#xff0c…