建站/web環境

出自Wired
跳至導覽跳至搜尋

我需要做什麼?

閱讀#基礎準備,無需記憶知曉用途即可;閱讀#軟件棧選擇,檢查需求的框架所適用的環境,目前僅提供部署/複製粘貼:LAMP環境

 

基礎準備

遠程訪問主機以進行環境部署(如果無法訪問,確保IP及密碼無誤後請檢查防火牆是否開放22端口):

  • 對於windows:使用xshell、PuTTY之類的工具(以後者為例)
    1. 打開軟件後,首先進行設置,點擊「windows」選項卡中的「Selection」,將「Ctrl + (C,V)」的參數改為「PRIMARY」,以便於在終端內通過快捷鍵複製粘貼;
    2. 隨後在初始頁面(「Session」選項卡)輸入ip地址(端口是默認的22),直接點開始(Open),初次連結有安全提醒,點擊「Accept」確認操作;
    3. 隨後進入一個新窗口,輸入用戶名即「root」,回車確認,再輸入/粘貼root密码,回車確認即可(命令行輸入密碼時屏幕不顯示任何內容是正常現象)
  • 對於linux
    • 直接在命令行輸入:ssh root@ip地址,初次連接會有安全提醒,根據提示輸入「yes」確認操作,然後輸入root密码(使用圖形化終端界面,可以直接右鍵粘貼,或者「ctrl+shift+v」粘貼)
  • MAC同Linux可直接使用ssh命令,複製/粘貼快捷鍵以系統設置為準。

在伺服器內預先安裝一些工具:

預習文件處理命令:

注意事項:

  • 執行命令時,若無特殊聲明則可以按照軟件默認設置,如直接回车進行下一步、按提示輸入yesy確認操作。

 

軟件棧選擇

※ 軟件堆棧(software stack)指「共同工作来保证软件正常运行的独立组件的集合」。

一般動態網站

通常主流框架,如mediawiki、wordpress、typecho都是/能基於LAMP環境,其適用範圍很廣,但具體到不同的框架,或有版本兼容性問題。本系列文章提供的指南主要是圍繞mediawiki框架的,兼容舉例的另外兩個流行框架,如果您對其他框架有需求,請閱讀目標框架的相關說明了解其兼容性,並於網絡上搜索適用的教程或詢問於我。

  • LAMP:Linux、Apache、MySQL、PHP的縮寫,通常來說較為穩定和適用於動態網站,佔用資源較高。部署指南:建站/LAMP
  • LEMP:Linux、Nginx、MySQL、PHP的縮寫(又縮寫為LNMP),通常來說更快和適合靜態網站(或使用Nginx動靜分離等優化方案),佔用資源較低。因無需求而未寫文章,差異就是安裝Apache2和Nginx的命令不同及兩者配置文件略有差異。

一般靜態網站

靜態網站通常並不需要解析腳本語言、使用數據庫存儲內容,只需要安裝提供web服務的工具(nginx/apache2),並將網站資源放置於網站目錄(/var/www/html/)下即可。

  • Nginx: sudo apt-get install nginx
  • Apache2:sudo apt-get install apache2

靜態站點生成器

如果您需要hugo這類靜態站點生成器,請閱讀專項文章:建站/靜態網站生成器

其他特殊情況

如今PHP適用範圍仍舊很廣,但Mysql卻不一定,或有用sqllite、redis、PostgreSQL…的,框架通常會兼容多種數據庫,還是需具體框架具體分析。

其他情況請參考您框架需要的拓展,包括但不限於next.js、asp,需具體問題具體分析。

 

【廢棄方案】寶塔

因为宝塔的可视化GUI和简单的操作及我没有用宝塔,宝塔的部分也没有写,其实我觉得只要能克服对命令行的未知的恐惧的话,命令行各方面都优于这类管理工具。

優點:最適合國人體質的管理系統(CMS),操作簡單無腦,高級功能付費,但新手、個人用戶只需要用到基礎功能。

缺點:存在一些無法忽略的問題,但至於是否會造成影響,看個體的傾向。

  • 需要手機號註冊(舊版本可繞過,但有bug,不推薦;新版本的破解/開心版請自行尋找);
  • 任何面板、框架都是漏洞的溫床,寶塔作為新手夥伴,更是無法例外;
    • 不過寶塔只是一個工具,並非一個獨立的系統,干的活就像一鍵安裝代碼,將一些流程給GUI化、簡化,用鼠標點點替代了鍵盤敲敲,幫助不了解linux系統與web相關服務的人快速配置而已。寶塔和web環境是完全獨立的,關閉寶塔不會影響web環境與系統的正常運行,如果不太需要或不頻繁需要它的GUI文件管理器、添加新網站、備份數據之類的功能,那麼你可以在環境部署好後直接將其關閉,完全不影響網站的正常運行(開機會自啟動)。
    • 注意寶塔會修改你的网站资源存放目录等默認設置。

你可以討厭寶塔這類強制手機號註冊的工具、歧視操作的無腦、反感商業化的服務,但不能拒絕便利。」就跟我會向真萌新推薦360而非火絨一樣,2345那種是真毒瘤,給誰推薦就是害誰,但360綜合來說對新手最好,設置里關掉廣告推送體驗也不那麼差,適合自己的才是最好的。就像有些人因為不節制的貶低百度而用bing,結果別人能直接搜到的內容他搜不到還因此受到困擾、在某些公共場合抱怨,以此鬧出很多笑話。在既定事實面前,應該注重具體體驗,要麼提升技術讓自己可以真正遠離不喜歡的產品,要麼就老老實實使用這些產品,讓「實用性」主導選擇。

所以我個人是建議使用寶塔的,尤其是如果你使用了國內伺服器,因為相比於多重實名制度和工信部公示的姓名來說,在寶塔伺服器里記錄下你的手機號,根本算不上損失私隱,使用國外伺服器+寶塔也未嘗不可。

安裝寶塔

  • 以ubuntu為例,在終端中運行一鍵安裝腳本(請參考官網):wget -O install.sh https://download.bt.cn/install/install_lts.sh && sudo bash install.sh ed8484bec
  • 提示輸入「Yes」或「Y」確認的就在輸入後回車繼續即可,其他只需要等待。
  • 安裝完成後會顯示寶塔的訪問url和初始賬戶密碼,記錄下來(寶塔無法直接通過端口訪問,網址後面有隨機字符串) --> 打開瀏覽器 --> 訪問url(如果國內伺服器無法訪問,請到伺服器子文章查看如何設置防火牆,並開放對應端口)

安裝環境

  • 初次訪問有一鍵安裝lamp或lnmp環境的提示,選擇LAMP環境即可,phpmyadmin是便捷化管理數據庫的工具,安不安裝都行。
    • MySQL8.0+會提示內存小於6GiB不建議安裝,如果你的機子是1c2g及以上可以無視,1c1g及以下我沒試過。
  • 等待安裝完成即可。

添加網站:(需要先在建站/域名環節設置了DNS解析)

  • 在「网站」選項卡,點擊「添加站点」;
  • 輸入完整的域名,設置網站文件存放的目錄(或者按默認的來)
  • 靜態網站直接提交就行了;動態網站選擇PHP版本、數據庫版本、數據庫(是否創建數據庫可選,一些框架的引導界面會創建,也可以先創建好,後續保持數據庫名等信息一致即可)
  • 網站就添加完成了,此時訪問網址是默認的提示頁面,可以訪問網站文件夾修改、添加網頁文件,或導入框架。