?因為很多人問過我這個問題,所以我專門寫這篇文章。
如何進行項目部署以使網站運行?
通常,由于沒有背景基礎,對于許多前端工程師來說,項目部署是神秘的和不可預知的。
本文以我的開源博客Sinn為例,梳理web應用程序的工作原理。
要運行web應用程序,通常需要以下內容:
任何應用程序都是基于操作系統的,web應用程序也不例外。
服務器通常包含操作系統和相關服務,如網絡服務、IP服務等。對于web應用,服務器的主要作用是為web應用的運行提供操作系統環境和服務。
目前,服務器按操作系統的不同可分為兩類,一類是windows服務器,另一類是Linux服務器。顯然,windows服務器附帶windows操作系統,Linux服務器附帶linxu操作系統。
其中Linux服務器應用為廣泛,Linux服務器的操作系統有RHEL、CentOS、Debian、Ubuntu、SUSE等。常用的系統是Ubuntu和CentOS。但是windows服務器由于其惡劣的生態環境而越來越不受歡迎。通常,Linux服務器是個部署應用程序。
因此,首先,您需要一個Linux服務器來為應用程序提供操作系統環境和服務。
所謂編程語言環境,就是nodejs、Java、PHP等編程語言的運行環境。
應用程序是用編程語言開發的,因此應用程序的運行依賴于編程語言環境。
例如,要運行nodejs后臺應用程序,需要有一個nodejs運行環境。運行Java后臺應用程序需要Java運行環境。
必須注意的是,一個網站的前臺和后臺的運行環境是不同的。
前臺編程語言環境在客戶端(瀏覽器),后臺編程語言環境在服務器端。
前臺主要運行在客戶端,即在瀏覽器中呈現。前臺的編程語言環境是瀏覽器環境,因為前臺的編程語言主要是HTML、CSS和JS,瀏覽器本身內置了對HTML、CSS和JS的解析。換句話說,前臺應用程序不需要在服務器上構建編程語言環境。
后臺應用程序運行在服務器端,但服務器端通常不集成編程語言環境,因此后臺應用程序往往需要在服務器端構建自己的編程語言環境。如果是nodejs應用程序,則需要構建一個nodejs運行環境。如果是PHP應用程序,則需要構建PHP運行環境,依此類推。
因此,使用服務器,您可以在服務器上構建后臺編程語言環境。
在服務器和編程語言環境下,它等價于應用程序的運行基礎。
這里所指的應用程序是基于某種編程語言開發的應用程序。例如,基于nodejs開發的節點后臺應用程序。
有了應用程序之后,您需要構建應用程序所依賴的一些工具。
例如,后臺應用程序通常需要數據庫來存儲應用程序數據,比如mongodb、mysql等。前臺應用經常需要nginx做靜態資源服務,nginx還可以作為代理和接口轉發。
此時,服務器、編程語言環境、應用程序和相關工具都可用,您可以開始部署應用程序。
首先,前臺使用的編程語言主要有HTML、CSS、JS。前臺代碼主要生成一些靜態資源文件,如HTML文件、CSS文件、JS文件等靜態資源文件。
因此,前臺應用的部署實際上是靜態資源的部署。
首先,前臺代碼生成一些靜態資源文件,如HTML文件、CSS文件、JS文件等。
因此,當您通過控制臺打開網頁時,通常會看到以下請求:
瀏覽器請求可以分為兩類。一種是靜態資源請求,如HTML、CSS、JS、IMG等靜態資源。它們的功能是呈現應用程序的前臺用戶界面。另一種類型的請求是接口請求,即請求后臺接口與后臺應用程序交互并將請求的數據分配給UI。
后臺應用程序運行在服務器端,因此有必要在后端構建應用程序的編程語言環境。其次,構建應用所依賴的工具,如數據庫、流程管理工具等。
以Sinn服務器為例。這是一個基于nodejs的后臺應用程序,使用mongodb作為數據庫。
因此,為了部署Sinn服務器,需要在服務器上構建nodejs運行環境。在nodejs編程語言環境下,還需要構建mongodb數據庫等相關工具。
前臺部署是靜態資源部署,使用nginx、Apache或Tomcat工具。常用的是nginx。
后臺部署需要構建一個編程語言環境。對于PHP、Java等應用,還需要使用Apache/Tomcat來構建相應的程序服務。此外,后臺應用程序通常依賴于數據庫、流程管理器和其他應用程序工具。
如何自己做一個網站?經過以上分析,我相信您已經了解了部署應用程序的過程。