這將是一個技術(shù)插曲,我們實際上

將進(jìn)行一些編碼我將向你展示我如何構(gòu)建 Twitter 和" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運(yùn)營 > “Twitter 克隆”LAMP 上的全棧 Web 開發(fā)項目教程(Linux、Apache、SQL、PHP)

“Twitter 克隆”LAMP 上的全棧 Web 開發(fā)項目教程(Linux、Apache、SQL、PHP)

時間:2023-05-24 09:51:01 | 來源:網(wǎng)站運(yùn)營

時間:2023-05-24 09:51:01 來源:網(wǎng)站運(yùn)營

“Twitter 克隆”LAMP 上的全棧 Web 開發(fā)項目教程(Linux、Apache、SQL、PHP):嘿,歡迎回到與你的主持人前谷歌 X Facebook 的咖啡時間,

這將是一個技術(shù)插曲,我們實際上

將進(jìn)行一些編碼我將向你展示我如何構(gòu)建 Twitter 和

我們將從建立網(wǎng)站開始到結(jié)束建立這個

域名建立數(shù)據(jù)庫建立后端然后是

前端所以這就是我們將在這個視頻中做的為什么我們不只是

開始吧,所以你要做的第一件事就是設(shè)置一個網(wǎng)絡(luò)域,我

通常去 namesilo.com,你可以使用任意數(shù)量的這些

服務(wù),只需搜索一個你喜歡的域名 tweet demo com

肯定很好 為什么不 '我們不只是繼續(xù),你知道你以后可以重命名它不,我

只是在開玩笑,你不能重命名它,但我們會經(jīng)歷這個,我會

告訴你如何設(shè)置這個,所以我 可能來自訂單,是的,它

會讓我花 9 塊錢,但我會通過所有廣告來彌補(bǔ) 視頻

點(diǎn)擊其中一些廣告 快速暫停 感謝我們的贊助商 好奇心

流 訂閱視頻流服務(wù),提供

來自世界上一些最好的電影制作人的數(shù)千部紀(jì)錄片和非小說類作品,

包括獨(dú)家原件在好奇心流中查看它們 comm slash tech

Lead alright 所以現(xiàn)在我已經(jīng)設(shè)置好了,我只是進(jìn)入儀表板,你

知道有時可能需要一點(diǎn)時間,實際上通常很快

我可以進(jìn)入高級 DNS,你想要做的就是將此域名路由

到你的 自己的網(wǎng)絡(luò)服務(wù)器 那么我們?yōu)槭裁床蝗ピO(shè)置一個網(wǎng)絡(luò)服務(wù)器 那里有

許多不同的網(wǎng)絡(luò)托管服務(wù),比如亞馬遜 AWS digitalocean

谷歌云 你甚至可以使用完全托管的服務(wù),比如 firebase 我

將使用 IBM 云 因為這正是我所習(xí)慣的,但所有這些

界面都非常相似,我將在此處單擊創(chuàng)建資源,并且有

一些稱為虛擬服務(wù)器的東西本質(zhì)上就像一個紙質(zhì)服務(wù)器,

有一臺機(jī)器可以租用很多人,計算能力和

內(nèi)存都分配給很多人你可以在這里看到我可以點(diǎn)擊

一個多租戶公共虛擬服務(wù)器你可以選擇我所在的位置 將擁有

我的和達(dá)拉斯,您可以決定虛擬 CPU 和

32 GB 的 RAM

需要多少功率

我個人使用發(fā)送的操作系統(tǒng),其中

任何一個都非常好,雖然你可以在這里選擇一個存儲,

我將只使用 25 GB,是的,這看起來不錯,所以我會

點(diǎn)擊8,好吧,現(xiàn)在我有一個網(wǎng)絡(luò)

服務(wù)器 在這里設(shè)置 我可以點(diǎn)擊進(jìn)入它 基本上他們得到了這個

現(xiàn)在在賬單中設(shè)置了 你可以看到每小時 9 美分的成本

他們預(yù)計每天使用大約 12 小時 397

每月花費(fèi) 33 71 美分左右的小時數(shù),我

將向您展示如何設(shè)置 Web 服務(wù)器和域,因為我認(rèn)為這

是任何有自尊的 Web 開發(fā)人員都可以做的最重要的事情之一,您

真正需要 一個供您分發(fā)工作的平臺,如果您沒有

它,那么

提出您現(xiàn)在無法向任何人展示的寵物項目真的會令人沮喪,因為說服務(wù)器已經(jīng)全部設(shè)置好

我們需要的是弄清楚它的 IP 地址是什么,然后

路由域名,所以如果我進(jìn)入這個儀表板,我可以看到

IP 地址是什么,我將把它復(fù)制到這個高級 DNS 中,然后我會將它

分配給 www 和 @ 地址,我會將它們設(shè)置為記錄,

允許我將 IP 地址分配給這些點(diǎn)擊接受,現(xiàn)在這個

域名應(yīng)該被路由,所以如果我現(xiàn)在訪問 tweet 演示 comm,該站點(diǎn)已

損壞,因為它是 可能會去我需要的那個虛擬服務(wù)器 登錄

它,以便登錄,您使用 SSH終端能夠登錄,所以

是的,如果我進(jìn)入密碼部分,我可以看到他們分配的用戶名和密碼

是什么,這讓我們開始 大聲點(diǎn),所以我會

切換到對我們來說更安靜的東西,我們在哪里,所以我說

IP 地址上的 SSH root 好了,很好,我們現(xiàn)在在里面我喜歡做的第一件事







就是復(fù)制我的 bash RC 文件 這基本上只是我個人喜歡的快捷方式列表

,我建議您也可以設(shè)置類似的

設(shè)置。您和這些只是隨機(jī)設(shè)置,只會使終端

對我更有用,它會提示提示方式 我喜歡它,所以我會將其

SCP 到這些服務(wù)器中,好吧,很酷,所以我已經(jīng)復(fù)制了它,現(xiàn)在我

發(fā)現(xiàn)我沒有Emacs,所以我們要做的第一件事

就是開始安裝一些程序 yuminstall Emacs 應(yīng)該 這樣做,現(xiàn)在它

只是安裝了一堆包Emacs 有這么多瘋狂的依賴關(guān)系現(xiàn)在

讓我們談?wù)劶夹g(shù)棧

您可能想要使用的堆棧 您可以使用 nodejs Python Django

flask Ruby on Rails但這個標(biāo)準(zhǔn)的 Lamp 技術(shù)堆棧

可能是最簡單的技術(shù)堆棧之一,而且它也非常強(qiáng)大,許多初創(chuàng)公司

都在使用 Lamp,甚至Facebook 也在標(biāo)準(zhǔn)數(shù)據(jù)庫中 PHP memcache

這種類型的技術(shù)堆棧,所以你肯定可以通過這個設(shè)置來做很多破壞

,以便設(shè)置 Apache Web服務(wù)器,你發(fā)出一個命令 yum

install HTTP D,它是 HTTP守護(hù)進(jìn)程的縮寫,所以現(xiàn)在如果我運(yùn)行 service HTTP D

status我可以看到它沒有運(yùn)行,現(xiàn)在如果我

運(yùn)行良好,它現(xiàn)在應(yīng)該正在運(yùn)行,所以現(xiàn)在我可以嘗試訪問網(wǎng)站

tweet demo comm 是的,是的,你可以看到我已經(jīng)啟動

并運(yùn)行了這個網(wǎng)站 我自己的 使用我自己的網(wǎng)絡(luò)服務(wù)器的機(jī)器接下來我們需要

做的是實際配置這個服務(wù)器所以我會去斜線 httpd.conf 所以這是

一個標(biāo)準(zhǔn)路徑我知道這一點(diǎn)因為你知道如果你只是

在你周圍挖掘 '將能夠找出他們告訴你的文檔,

這是所有設(shè)置的地方,你可以看到文檔根是 var www

斜線 HTML,所以我認(rèn)為這對我們有用,所以我們可以去那里好吧,所以如果我

添加 index.html 然后在此處輸入 hello 并保存它然后訪問

推文演示 我可以看到我的自定義內(nèi)容現(xiàn)在已經(jīng)開始顯示

我們需要做的下一步是安裝 PHP 所以你運(yùn)行 yum install PHP

和 這幾乎可以在這里為您設(shè)置好 PHP,順便說

一下,現(xiàn)在另一種常見的技術(shù)是通過 docker 使用容器化

來設(shè)置 Web 服務(wù)器,這樣您甚至不必像單體 Web 服務(wù)器那樣進(jìn)行配置,

但是 總的來說,這仍然可能是簡單的

現(xiàn)在讓自己開始的最佳和最快的方法我們可以刪除我們一直在

使用的 index.html 并將其更改為 PHP 文件,

如果我使用特殊命令實際頁面 P info 然后它將輸出

所有內(nèi)容,這允許我們生成更多動態(tài)內(nèi)容 有關(guān)這些安裝的詳細(xì)信息和信息,我可以在

這里查看并檢查,所以我們需要一個數(shù)據(jù)庫服務(wù)器,所以我將安裝

Maria DB 服務(wù)器和 Maria DB,它只是一個客戶端,這

基本上就像我的續(xù)集一樣最基本和最常見的數(shù)據(jù)庫形式之一,

因此Farren 顯示 MariaDB 狀態(tài)

所以現(xiàn)在我們

使用我的 SQL 語法,我將創(chuàng)建一個表,就像創(chuàng)建表用戶一樣,

我們將有一個 UID 字段,它是一個整數(shù),我們將使其主鍵

自動遞增,我們需要 IP地址 這就像一個 varc har' 我們會

說它是低 64 個字符,它需要是唯一的,好吧,你去,

所以我們將嘗試創(chuàng)建連接連接來我的圈子

連接數(shù)據(jù)庫主機(jī)等于 localhost,如果我嘗試,用戶是 root 要運(yùn)行它,

我的續(xù)集連接不存在,所以您實際上需要安裝 -

PHP 擴(kuò)展,我們只需運(yùn)行 yum install PHP - 我的續(xù)集和 D,所以現(xiàn)在如果我運(yùn)行索引類型

PHP,我可以看到我正在打印資源 ID 所以這是所有設(shè)置向?qū)?br>
重新連接,我實際上也可以在這里進(jìn)行查詢

- sequel select database 這是數(shù)據(jù)庫名稱,然后我們可以進(jìn)行

查詢,甚至從給定連接的用戶中選擇星號,然后我們可以打印

結(jié)果,如果 我要進(jìn)入數(shù)據(jù)庫顯示表,我可以說

描述用戶并向用戶插入一個像 127.0.0.1 這樣的 IP 地址

,它會從用戶中插入一個項目選擇星,如果我必須運(yùn)行我的腳本,我們可以看到現(xiàn)在插入的內(nèi)容

在打印的行上運(yùn)行 print R s 一個數(shù)組,我

可以看到我正在更新該值,因此我們現(xiàn)在已經(jīng)設(shè)置了數(shù)據(jù)庫連接

,實際上我喜歡做的只是圍繞它創(chuàng)建一些包裝函數(shù)

,例如我們的 creo 函數(shù),稱為查詢,在給定采石場的情況下

,它將自動 將該查詢放入數(shù)據(jù)庫并返回值,

因此我只需將這些值復(fù)制到此函數(shù)的內(nèi)部,因此現(xiàn)在我將

能夠進(jìn)行許多不同的數(shù)據(jù)庫查詢,所以讓

我們在這里討論一下我們需要的表和字段我們需要 users 表將正確地說出

用戶 ID 和他們的 IP 地址,我們不會使用用戶名或

只使用 IP 地址 我們需要一個表來支持類似推文的

權(quán)利 我們得到一個 UID 我們也有一個帖子 對,然后我們還需要

關(guān)注我們給了一個UID一個用戶我們也知道誰是關(guān)注者所以我

認(rèn)為這是我們需要設(shè)置的三個主要表,所以我們將

進(jìn)入我們的數(shù)據(jù)庫并獲取 這東西設(shè)置好了,我會發(fā)出 一些后續(xù)語句,

例如我將創(chuàng)建推文數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫推文我們有一個 UID

,它是一個整數(shù)哦,這也需要主鍵,所以

推文 ID 就像一個整數(shù),它將是一個主鍵,這也將是

自動遞增的,并且 我們將有一個 UID,它是另一個整數(shù),然后是

我們可以創(chuàng)建的帖子,比如 varchar'140,因為它將是 140 個

字符哦,日期也是正確的,因為我們希望能夠?qū)λM(jìn)行排序

日期時間,因此我們將添加一些索引,例如日期上的鍵,

然后為什么在用戶 ID 和日期上有一個鍵,這是一個復(fù)合鍵,

以便為您提供每條推文的時間順序以及我們希望

能夠 按用戶 ID 過濾好吧創(chuàng)建那個哦

創(chuàng)建表然后我們還需要為下面創(chuàng)建一個表,其中我們

有一個 UID 是一個 int 和一個跟隨者是一個 int 我們可以

在這里說也許主鍵只是 是用戶 ID 和 fo 上的復(fù)合鍵

往下看,所以顯示表格我可以看到這些是我創(chuàng)建的三個表格

現(xiàn)在我們回到我們的 Web服務(wù)器后端,所以現(xiàn)在回到

這個文件我將在這里只使用一個文件 我們需要一個表單 編寫一個

用于發(fā)推文的輸入表單 在此處使用一些 HTML,我們將擁有一個文本區(qū)域,為其

命名,然后是一個輸入按鈕 好吧,我們看起來不錯,我們有一個文本

區(qū)域,您可以發(fā)推文,所以現(xiàn)在我 'M在這里的頂部有部分,

這是一個請求,所以這是PHP處理這個的方式,至少我們

得到推文,我們將解析它,并且IP地址實際上在這個

名為Server的特殊變量中 遠(yuǎn)程標(biāo)題,我們可以嘗試打印這些

好的,所以現(xiàn)在我實際上正在回顯

我想要插入到推文表中的輸入,所以這

就是我必須做的我需要獲取用戶 ID 如果用戶 ID 不存在,

然后我將為它創(chuàng)建一個用戶,我將插入該 t weet 對,

所以我會說好吧,讓我創(chuàng)建一個名為

get single 的輔助函數(shù),它本質(zhì)上發(fā)出一個查詢并返回一個值,因此

結(jié)果等于查詢,我們將解析得到行然后返回

行中的第一項我們獲取 UID a從 IP 等于 IP 權(quán)限的用戶中選擇您的 ID

和一點(diǎn)顧問每當(dāng)您搞亂

這樣的數(shù)據(jù)庫查詢時,它并不是很安全,所以您要確保

清理您的 輸入,所以你像我的續(xù)集一樣使用真正的轉(zhuǎn)義字符串來

清理如果用戶 ID 不存在,我們將創(chuàng)建它正確

插入用戶 IP 好的,所以現(xiàn)在如果我刷新這個,如果我去

表 并從用戶中選擇星號,您可以看到我已經(jīng)

為我當(dāng)前的 IP 地址插入了第二個用戶 ID 我正在從中訪問它,現(xiàn)在我只

需要插入推文以及只需說插入推文并讓我打開

這里有第二個終端,所以對于推文,我們需要一個 用戶 ID 帖子和日期,或者

并輸入帖子和日期以及輸入的值是您的 ID,我們會

說日期等于當(dāng)年月日小時分鐘秒,

所以現(xiàn)在我可以開始發(fā)推文了一堆東西,我可以檢查我的推文,比如推文中的

明星我可以看到所有這些東西都是在正確的用戶

ID 下進(jìn)入的下一步是我只需要進(jìn)入這里并正確輸出所有推文,

所以科里選擇明星 從按日期降序排序的推文中,你知道,

因為我們是日期的索引,這將是一個相當(dāng)有效的查詢

獲取結(jié)果,然后我們需要遍歷它,而行等于我的續(xù)集

從結(jié)果中獲取關(guān)聯(lián)數(shù)組然后我們 可以打印正確的行

,我們在這里再次提取推文你不想做一些

沖動分析,所以我將使用 HTML特殊字符,我將把

它放在表格中,以便正確格式化 很快,我們

也會 輸入正確的日期,這樣你就可以在這里看到這已經(jīng)

開始變得相當(dāng)實用了,就像我可以發(fā)推文一樣,它們已排序它們

按時間降序排列我們已經(jīng)設(shè)置了整個網(wǎng)站,

我唯一需要的其他東西 在這里要做的是設(shè)置follow函數(shù),并讓這個

更漂亮,現(xiàn)在我們將創(chuàng)建一個新條目,可能帶有一個

follow鏈接,對于這個follow鏈接,我們只是傳遞一個

我們將擁有的參數(shù) 返回到 PHP 會說的同一頁面索引的路由等于

您知道要關(guān)注的任何用戶 ID,因此我們在此處有一個鏈接,您可以

單擊此內(nèi)容,然后在這里我可以進(jìn)入此處處理,就像您一樣

在 URL 參數(shù)中獲取請求以進(jìn)行關(guān)注,您知道什么會獲取該值,

然后再次將其轉(zhuǎn)義,然后將其插入到數(shù)據(jù)庫中,

我們還需要用戶 ID,所以我在這里再次獲取用戶 ID,如有必要,將其插入

在這一點(diǎn)上,也許我會只需創(chuàng)建一個功能,例如獲取您的 ID

正確查詢插入忽略到跟隨您的 ID 跟隨所以我們?nèi)ト绻?br>
單擊這些值它確實開始將值插入到下表

中可能很好不要為您的用戶顯示此鏈接已經(jīng)關(guān)注所以你

知道在我渲染每個之前我可以快速檢查是否

從你的 ID 等于你的 ID 的關(guān)注中獲得單個 slag 追隨者所以只有當(dāng)該

條目不存在時我們才會有一個關(guān)注鏈接在那里你去那 看起來

不錯我也可以關(guān)注這些用戶以及您關(guān)注的用戶

我們希望也能夠僅顯示那里的帖子而不僅僅是顯示

其他帖子所以也許我只是在這里輸出第二個區(qū)域我們幾乎可以

做到 相同的東西,除了查詢有點(diǎn)不同,所以我們實際上可以

創(chuàng)建一個用于渲染的函數(shù)和所有

這些東西 ode從用戶 ID 所在的推文中選擇明星

,然后我想這將是一個論文查詢實際上選擇

跟隨從哪里跟隨在哪里你是平等的用戶權(quán)利所以這是一個更

復(fù)雜的續(xù)集聯(lián)合,是的,你去吧 現(xiàn)在我們只看到

來自您關(guān)注的用戶的推文,即用戶 3 它按日期排序,

所以顯然該網(wǎng)站現(xiàn)在不是很漂亮,但您可以輕松清理

bootstrap 是您非常流行的 HTML CSS

庫 可以用來快速設(shè)置網(wǎng)站的樣式,所以我會進(jìn)入

這里,你知道導(dǎo)入樣式表,然后將它們粘貼進(jìn)去,就像

把所有這些東西都帶進(jìn)去一樣,只要我

把它放進(jìn)去,就像四行代碼一樣 然后刷新你可以看到這個頁面已經(jīng)開始

看起來更好所以這是我開始進(jìn)入 HTML 這是一個文本

字段我可以進(jìn)入引導(dǎo)程序查看組件并查找你知道就像

這個示例文本區(qū)域 看起來很漂亮太好了,所以我要做的就是進(jìn)入這里

并復(fù)制樣式并將其粘貼到這里給它一個名稱,是的,文本區(qū)域

開始看起來不錯也許我也希望這個按鈕看起來更好,這樣我就可以

進(jìn)入這個主要的按鈕 按鈕看起來不錯,在那里輸入等于

提交,然后如果我要將它放在我們關(guān)注的用戶的表格中,

也許我們應(yīng)該允許用戶取消關(guān)注他們,這樣我就可以進(jìn)入這里

更改鏈接以說取消關(guān)注添加事件處理程序,如果我們?nèi)∠P(guān)注,如果有

東西進(jìn)來,說取消關(guān)注,那么我會得到 ID,我會簡單地

從表中刪除它現(xiàn)在從跟隨的飛躍是的,隨著時間的推移,

你真的可以建立這個天空是極限 但我希望我向您展示了

如何啟動和運(yùn)行一個基本的 Web 應(yīng)用程序,至于技術(shù)堆棧,

有許多不同的選項,以及代替使用 Morea DB

我的續(xù)集數(shù)據(jù)庫,我們可以像MongoDB 一樣使用而不是 使用 PHP 我們合作

我曾經(jīng)使用過 Python 我使用標(biāo)準(zhǔn) HTML 生成的服務(wù)器端構(gòu)建了 UI 它

也可以在客戶端使用說 JavaScript 完成 嘿,

對了解更多關(guān)于我們的世界感到興奮,看看好奇心流 comm 斜線

技術(shù)飛躍世界上第一個訂閱流

由探索頻道的創(chuàng)始人創(chuàng)建的關(guān)于學(xué)習(xí)關(guān)心和了解我們世界的視頻服務(wù)

它的內(nèi)容花費(fèi)了科學(xué)自然

歷史技術(shù)社會和生活方式我特別喜歡非洲這一集

以及我們的工作人員拯救世界上一些最奇特

和瀕臨滅絕的動物之后的更多救援 物種可以無限制地獲得他們的損害賠償每月 2.99

美元或每年 19.99 美元 現(xiàn)在有一個特別促銷活動,年度計劃和

禮品卡可享受 40% 的折扣,因為我是技術(shù)主管,所以我會讓你

在前 30 天完全免費(fèi) 流冷靜斜線技術(shù)負(fù)責(zé)人,所以

是的,這里有很多不同的購買,讓我知道您將如何構(gòu)建

T witter應(yīng)用程序如果您喜歡該視頻,我真的很想知道在下面的評論中

給它點(diǎn)個贊并訂閱我下次再見謝謝

再見

關(guān)鍵詞:教程,項目

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉