Nginx之lnmp架構

目錄

  • 一.什么是LNMP
  • 二.LNMP環境搭建
    • 1.Nginx的搭建
    • 2.安裝php
    • 3.安裝數據庫
    • 4.測試Nginx與PHP的連接
    • 5.測試PHP連接數據庫

一.什么是LNMP

LNMP是一套技術的組合,L=linux,N=nginx,M=mysql,P=php

首先Nginx服務是不能處理動態資源請求,那么當用戶發起動態請求時, Nginx又是如何進行處理的?

  • nginx僅支持解析html文件;圖片傳輸;視頻傳輸;不支持 php、python、java等腳本文件,因此php,python都是nginx通過fastcgi,uwcgi協議來轉發的,java這是通過tomcat

  • 當用戶發起http請求,請求會被Nginx處理。

  • 如果是靜態資源請求Nginx則直接返回,

  • 如果是動態請求Nginx則通過fastcgi協議轉交給后端的PHP程序處理

  • 如果這個動態請求要讀取數據庫,那么php就會繼續向后請求mysql數據庫讀取需要的數據

    Nginx與Fast-cgi詳細工作流程

二.LNMP環境搭建

1.Nginx的搭建

# 安裝Nginx
[root@tdm ~]# yum -y install nginx # 開機自啟
[root@tdm ~]# systemctl start nginx
[root@tdm ~]# systemctl enable nginx

2.安裝php

# 檢查是否安裝過,有的話卸載
[root@tdm ~]# rpm -qa|grep php# 配置php yum源
[root@tdm /etc/yum.repos.d]# vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0# 生成緩存
yum repolist#安裝php
yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb#修改php配置,統一使用nginx用戶,與nginx用戶一致# 啟動php-fpm
systemctl start php-fpm
systemctl enable php-fpm# 檢查進程和端口
ps -ef | grep '[p]hp-fpm'netstat -lntup |grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      7818/php-fpm: maste

在這里插入圖片描述

3.安裝數據庫

# 安裝mariadb
yum install -y mariadb-server# 啟動并加入開機自啟
systemctl start mariadb
systemctl enable mariadb# 檢查MySQL端口和進程
[root@tdm ~]# netstat -lntup | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      8143/mysqld
ps -ef | grep '[m]ysqld'# 設置Mariadb密碼123456
[root@web01 ~]# mysqladmin -uroot password '123456'

在這里插入圖片描述

4.測試Nginx與PHP的連接

# php.conf文件配置
server {listen 80;server_name 182.92.243.89;root /code/php;location / {index index.php index.html;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include /etc/nginx/fastcgi_params;  }
}# 創建站點目錄
[root@tdm code]# mkdir php
[root@tdm php]# vim info.php
<?php
phpinfo();
?>

在這里插入圖片描述

5.測試PHP連接數據庫

# 在/code/php目錄下創建mysql.php文件,填入對應的數據庫IP、用戶名、密碼
vim  /code/php/mysql.php
<?php$servername = "localhost";   # //修改相應配置。如果不是本機,則需修改相應數據庫用戶權限,否則無法訪問$username = "root";$password = "123";// 創建連接$conn = mysqli_connect($servername, $username, $password);// 檢測連接if (!$conn) {die("Connection failed: " . mysqli_connect_error());}echo "php可以連接MySQL";
?>

在這里插入圖片描述
參考:https://zhuanlan.zhihu.com/p/644362162

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37847.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37847.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37847.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android app專項測試之耗電量測試

前言 耗電量指標 待機時間成關注目標 提升用戶體驗 通過不同的測試場景&#xff0c;找出app高耗電的場景并解決 01、需要的環境準備 1、python2.7(必須是2.7&#xff0c;3.X版本是不支持的) 2、golang語言的開發環境 3、Android SDK 此三個的環境搭建這里就不詳細說了&am…

如何使用CSS實現一個純CSS的滾動條樣式?

聚沙成塔每天進步一點點 ? 專欄簡介? 使用CSS實現自定義滾動條樣式? 寫在最后 ? 專欄簡介 前端入門之旅&#xff1a;探索Web開發的奇妙世界 記得點擊上方或者右側鏈接訂閱本專欄哦 幾何帶你啟航前端之旅 歡迎來到前端入門之旅&#xff01;這個專欄是為那些對Web開發感興趣…

【數理知識】三維空間旋轉矩陣的歐拉角表示法,四元數表示法,兩者之間的轉換,Matlab 代碼實現

序號內容1【數理知識】自由度 degree of freedom 及自由度的計算方法2【數理知識】剛體 rigid body 及剛體的運動3【數理知識】剛體基本運動&#xff0c;平動&#xff0c;轉動4【數理知識】向量數乘&#xff0c;內積&#xff0c;外積&#xff0c;matlab代碼實現5【數理知識】最…

用Node.js吭哧吭哧擼一個運動主頁

簡單嘮嘮 某乎問題&#xff1a;人這一生&#xff0c;應該養成哪些好習慣&#xff1f; 問題鏈接&#xff1a;https://www.zhihu.com/question/460674063 如果我來回答肯定會有定期運動的字眼。 平日里也有煅練的習慣&#xff0c;時間久了后一直想把運動數據公開&#xff0c;…

火山引擎DataLeap的Data Catalog系統公有云實踐

更多技術交流、求職機會&#xff0c;歡迎關注字節跳動數據平臺微信公眾號&#xff0c;回復【1】進入官方交流群 Data Catalog是一種元數據管理的服務&#xff0c;會收集技術元數據&#xff0c;并在其基礎上提供更豐富的業務上下文與語義&#xff0c;通常支持元數據編目、查找、…

自然數的拆分問題

題目描述 任何一個大于 11 的自然數 n&#xff0c;總可以拆分成若干個小于 n 的自然數之和。現在給你一個自n&#xff0c;要求你求出 n 的拆分成一些數字的和。每個拆分后的序列中的數字從小到大排序。然后你需要輸出這些序列&#xff0c;其中字典序小的序列需要優先輸出。 輸…

搭建openGauss 5.0 一主一從復制集群

openGauss是一款支持SQL2003標準語法&#xff0c;支持主備部署的高可用關系型國產數據庫。 多種存儲模式支持復合業務場景&#xff0c;新引入提供原地更新存儲引擎。NUMA化數據結構支持高性能。Paxos一致性日志復制協議&#xff0c;主備模式&#xff0c;CRC校驗支持高可用。支…

設置返回列表元素上限

我正在「拾陸樓」和朋友們討論有趣的話題&#xff0c;你?起來吧&#xff1f;拾陸樓知識星球入口 在get_cell &#xff0c;get_nets&#xff0c;get_xx等操作時返回的值上限是100&#xff0c;后面的就用...省略了&#xff0c;如果要修改這個上限&#xff0c;需要用下面命令: s…

設計模式之七大原則

&#x1f451;單一職責原則 單一職責原則告訴我們一個類應該只有一個責任或者只負責一件事情。 想象一下&#xff0c;如果一個類承擔了太多的責任&#xff0c;就像一個人同時負責做飯、洗衣服和打掃衛生一樣&#xff0c;那么這個類會變得非常復雜&#xff0c;難以理解和維護。而…

一些Git Repo

文章目錄 Fake-TcpWow Fishing Script模擬券商柜臺 Fake-Tcp Fake-Tcp 自己寫的一個偽裝包測試。 嘗試把UDP的包偽裝成TCP包&#xff0c;再發送到Internet Wow Fishing Script 魔獸世界釣魚腳本 自己寫的魔獸世界釣魚腳本&#xff0c;10.0初期釣魚成功率90%以上。現在關服了…

基于Spring Boot的高校圖書館管理系統的設計與實現(Java+spring boot+MySQL)

獲取源碼或者論文請私信博主 演示視頻&#xff1a; 基于Spring Boot的高校圖書館管理系統的設計與實現&#xff08;Javaspring bootMySQL&#xff09; 使用技術&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java sp…

關于ChatGPT抽樣調查:78%的人用于搜索,30%的人擔心因它失業

人工智能早已不再被視為未來科技&#xff0c;而是越來越多地應用在時下人們的生活之中。根據DECO PROTESTE的調查&#xff0c;大約72%的葡萄牙人認為人工智能已經活躍于他們的日常。[1] 隨著ChatGPT對各個行業的影響&#xff0c;也引發了人們關于這種人工智能模型潛力的爭論&a…

c++模板的原理與使用

C中實現代碼復用有兩個方式&#xff1a;類的繼承&#xff08;即實現了多態&#xff09;&#xff0c;以及模板的使用。這里介紹的模板的知識。 模板的目的&#xff1a; 同樣的代碼適用于不同類型下的使用&#xff0c;實現代碼的復用目的。 模板的原理&#xff1a; 編譯階段&am…

Cygwin 配置C/C++編譯環境以及如何編譯項目

文章目錄 一、安裝C、C編譯環境需要的包1. 選擇gcc-core、gcc-g2. 選擇gdb3. 選擇mingw64下的gcc-core、gcc-g4. 選擇make5. 選擇cmake6. 確認更改7. 查看包安裝狀態 二、C、C 項目編譯示例step1&#xff1a;解壓縮sed-4.9.tar.gzstep2&#xff1a;執行./configure生成Makefile…

shell之正則表達式及三劍客grep命令

一、正則表達式概述 什么是正則表達式&#xff1f; 正則表達式是一種描述字符串匹配規則的重要工具 1、正則表達式定義: 正則表達式&#xff0c;又稱正規表達式、常規表達式 使用字符串描述、匹配一系列符合某個規則的字符串 正則表達式 普通字符&#xff1a; 大小寫字母…

opencv視頻截取每一幀并保存為圖片python代碼CV2實現練習

當涉及到視頻處理時&#xff0c;Python中的OpenCV庫提供了強大的功能&#xff0c;可以方便地從視頻中截取每一幀并將其保存為圖片。這是一個很有趣的練習&#xff0c;可以讓你更深入地了解圖像處理和多媒體操作。 使用OpenCV庫&#xff0c;你可以輕松地讀取視頻文件&#xff0…

判斷推理 -- 圖形推理 -- 位置規律

一組圖&#xff1a;從前往后找規律。 二組圖&#xff1a;從第一組圖找規律&#xff0c;第二組圖應用規律。 九宮格&#xff1a; 90%橫著看找規律&#xff0c;第一行找規律&#xff0c;第二行驗證規律&#xff0c;第三行應用規律。 所有有元素組成都是線&#xff0c;三角形&…

面試熱題(驗證二叉搜索樹)

給你一個二叉樹的根節點 root &#xff0c;判斷其是否是一個有效的二叉搜索樹。 有效 二叉搜索樹定義如下&#xff1a; 節點的左子樹只包含 小于 當前節點的數。節點的右子樹只包含 大于 當前節點的數。所有左子樹和右子樹自身必須也是二叉樹 二叉樹滿足以上3個條件&#xff0c…

spark的使用

spark的使用 spark是一款分布式的計算框架&#xff0c;用于調度成百上千的服務器集群。 安裝pyspark # os.environ[PYSPARK_PYTHON]解析器路徑 pyspark_python配置解析器路徑 import os os.environ[PYSPARK_PYTHON]"D:/dev/python/python3.11.4/python.exe"pip inst…