黃金架構編譯部署

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.pswp.cn/diannao/36802.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36802.shtml
英文地址,請注明出處:http://en.pswp.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…