# 我的個人站長實戰經驗 > 從開發到營運網站的完整流程 你好,我是程式設計師魚皮。 從大學期間上線個人部落格網站開始,我做個人站長已經有 8 年多了。在這個過程中,我收穫了很多,除了技術成長帶來的快樂外,個人站長最開心的莫過於有用戶使用、並且留下好評,真的很有成就感。 當然,這期間也經歷過很多痛苦,比如網站被攻擊、資料庫被黑、用戶回報的 Bug 無窮無盡等等。不過現在回過頭來看,經歷這些痛苦反而是一種「幸福」。一方面我會因為這些事獲得成長,豐富自己的經驗;另一方面有人攻擊你、回報 Bug,證明了你的網站獲得了一定的關注。 而做個人站長,最痛的事情莫過於:**用心做的網站沒人用。** 我相信很多有自己網站的朋友,應該會感同身受吧。 ![](https://pic.yupi.icu/1/image-20240620114230530.png) 這段時間我也花費了大量的精力帶團隊開發優化程式導航網站,又增加了不少經驗值。 > 程式導航 - 學習交流社群:https://codefather.cn ![](https://pic.yupi.icu/1/image-20240620114647840.png) 這篇文章,我會以程式導航網站為例,分享成為個人站長需要做的工作,以及我做個人站長的一些實戰經驗。希望對想成為獨立開發者的朋友們有些幫助。 ## 如何成為個人站長? 想成為個人站長?想做好個人網站?以下的事情都是必須要做的。 > 大家也可以把這段分享當做是「網站開發流程」的學習。 ### 1、先有 IDEA 你要做什麼? 明確網站目標和核心價值,是創建網站的第一步。想法是最值錢的,一個好的 IDEA 是網站成功的關鍵。 注意,好的想法可不是找別人要來的。之前我遇到過比較搞笑的問題是「魚皮魚皮,我想做個創業項目,能做什麼呢?」 別人要是有好的 IDEA,為什麼自己不做,而是要無償分享給你? 怎麼獲取 IDEA 呢?我有 2 種方法是: 1. 從自身的需求出發,思考你需要什麼。比如學校搶課,這就是一個需求。 2. 多看別人的網站,從中找到靈感和改進的空間。多問自己:現有的網站有哪些地方做得不夠好?舉個例子,經常有朋友吐槽微信佔用空間過大,能不能自己開發一個比它更好的呢?搞不好你就是下一個 pony 🐴。 比如我的程式導航,IDEA 就源於我做程式知識分享多年來讀者們遇到的問題 —— 學程式效率低、資源分散、缺少交流、沒有動力。所以我們的目標是:提供一站式程式學習交流社群,做您程式學習路上的導航員。 ### 2、產品原型 有了 IDEA 之後,就要開始構想:網站要做成什麼樣子?要有哪些核心功能?一般要編寫詳細的產品設計方案和產品原型圖。 在公司裡,這一般是產品經理做的事,但對於個人站長,你就是產品經理,整個網站做成什麼樣,由你來決定! 首先要梳理網站的功能模組,可以用思維導圖或者列表來展示,比如我們程式導航的功能模組設計: - 用戶模組:包括用戶註冊、登入、個人資料管理等。 - 文章模組:允許用戶發布、編輯和閱讀文章。 - 訊息模組:通知用戶有新評論、動態等。 - 搜尋模組:聚合搜尋所有的文章、資訊。 - 教程模組:提供免費和付費的學習教程、支援專欄閱讀和影片播放。 確認好功能模組後,要針對每個功能設計產品原型圖。沒有專業的產品知識和產品思維也沒關係,這是可以鍛鍊出來的,可以通過看、模仿、甚至抄一些成功網站的功能和設計來幫助你快速完成產品原型。 我們程式導航的首頁原型圖,就是我自己畫的,畫圖工具用語雀自帶的畫板或者 draw.io 就可以: ![](https://pic.yupi.icu/1/image-20240620125043284.png) ### 3、需求分析 完成產品原型後,你會發現有一大堆的功能要開發。 別慌,這種時候我們要進行需求分析和排期:明確哪些需求要做?哪些需求先做? 如果是團隊開發,一般產品會拉開發、測試、設計等不同崗位的同學一起開需求評審會來討論。個人建站的話,就沒必要開會了,也沒必要使用專業的需求管理工具,反而麻煩。建議整理出一個需求排期表,將所有需要實現的功能按優先級排序。確定哪些是必須先完成的,哪些可以放在後續疊代中完成。對於大的功能模組,可以拆分為多個小需求,敏捷開發,有序推進。 需求排期表示例,這是我 6 月剛帶大家做完的新項目: ![](https://pic.yupi.icu/1/1718712573701-43a64ab8-b82f-4e47-b908-0e2b0fc97f49.png) ### 4、前期設計 明確需求後,就要開始 **多線開工** 了,設計師要出設計稿,測試人員要設計測試用例,開發同學要進行技術選型和方案設計。 對於個人站長來說,以上所有的事情都要自己做。如果你是一名程式設計師,個人的建議是在網站開發初期,參考其他網站而不是自己做設計,先完成功能、有人用產品,再去摳那些細節。也沒必要走標準的研發流程一樣設計測試用例,完成功能後自己通過點擊驗證功能可用即可。但是,技術選型和方案設計是一定要認真做的,最好出一個詳細的文件,明確實現的方案和細節,防止開發過程中才發現有問題或者無法實現。 技術方案設計包括核心實現方案和細節確認、庫表設計、介面設計等,比如我們程式導航交流板塊的庫表設計,就是通過方案文件進行確認後,才寫程式碼開發的。 ![](https://pic.yupi.icu/1/image-20240620134404925.png) ### 5、開發實現 這段是程式設計師朋友們再熟悉不過的流程,也是技術通道的同學「吃飯的本領」。對於網站開發,通常分為後端和前端。 #### 5.1 後端 後端提供資料的操作和管理能力,通常後端開發同學需要提供介面文件,供前端同學查看。 有很多主流的後端開發語言比如 Java、Go、C++、PHP、C# 等,需要使用一個提高效率的開發框架比如 Java 的 Spring Boot(Quarkus)、Go 語言的 Gin 等。 像我們程式導航的後端,就是用 Spring Boot 開發的,絕大多數功能用 MySQL 資料庫就能搞定,有些功能還用到了 Redis、WebSocket 等技術。 ![](https://pic.yupi.icu/1/image-20240620142135649.png) #### 5.2 前端 前端提供給用戶使用和互動的頁面。通常使用 HTML、JavaScript、CSS 三件套,配合框架如 Vue 或 React 提高開發效率。除了開發頁面外,前端還需要考慮瀏覽器相容性、頁面開啟效能、搜尋引擎優化(SEO)等等。 前端開發中,挑選一個好用的元件庫可以大大提高開發效率,像我們用的是 Ant Design,優點是元件全面,基本每個頁面都可以直接使用元件、像拼圖一樣完成開發。缺點就是這個庫相對有點重,估計我們後面也會優化吧。 ![](https://pic.yupi.icu/1/image-20240620142519047.png) 對於個人站長,前後端都要自己開發。我的建議是先做後端,明確了介面、資料和邏輯的定義後,再開發前端,會輕鬆很多。而且最好把複雜的計算邏輯放到後端,避免前後端維護 2 套邏輯,出現混淆和衝突。 ### 6、測試驗證 開發完成後,需要進行多輪測試: 1. 開發自測:開發人員自己進行初步測試,確保程式碼基本功能正常。比如 Java 開發者可以用 JUnit 編寫單元測試。 2. 測試(QA)測試:品質保證團隊進行詳細測試,包括功能測試、效能測試、安全測試等。 3. 產品驗收:由產品經理或需求方進行最終驗收,確保產品符合需求。 對於個人站長來說,除了自己測試外,可以邀請一些自己的朋友體驗,幫忙找找 Bug。 在網站正式上線或收費前,一般是要經過充分內測的。像我以前開發的一些網站就是沒有做好測試,結果上線就被人鑽了漏洞。不過我覺得在流量沒那麼大的時候,如果上線出 Bug 並沒有實際的損失,那麼測試環節投入的時間比重可以小一些,只需要留給用戶一個可以回報 Bug 的管道就好。 ### 7、部署上線 部署上線是指將網站檔案放到伺服器上,讓用戶可以通過網域名稱訪問。 之前給大家分享過很多種不同方式的上線教程了,其實並不難: - 傳統伺服器上線教程:https://www.bilibili.com/video/BV1eT421i7si - 容器託管平台上線教程:https://www.bilibili.com/video/BV1Xm421N7Xj - 微服務項目上線教程:https://www.bilibili.com/video/BV1Cp4y1F7eA 最開始我還是建議使用傳統的伺服器上線,因為成本相對較低。而且伺服器的配置建議從低買起,比如 1 核 2 G 就足夠流暢運行大多數個人網站了,不要一上來就買配置太高的機器,不一定會有明顯的效能提升,反而是浪費資源。等用戶量上來了,可以再考慮切換部署方式或者升級伺服器配置。 平時可以多關注伺服器的負載狀態和資源利用率,像我自己很多網站佔用的 CPU 和記憶體資源都非常低,所以我把部分網站放到了同一台伺服器上,提高資源利用率。 ![](https://pic.yupi.icu/1/image-20240620140059240.png) ### 8、營運分析 上線只是一個新的開始,站長需要持續營運網站(比如發布內容、搞活動),並且監控和分析網站的流量和營運情況。可以使用 Google Analytics、51.La、百度統計等專業的工具進行資料統計和分析,一行程式碼即可接入。這些資料可以幫助你了解網站的 UV、PV、用戶來源、各功能使用情況、廣告的投放效果等,對於後續的產品改進和優化非常重要。 ![](https://pic.yupi.icu/1/image-20240620142703690.png) ### 9、網站優化 網站優化是一個持續的過程,也是最能提升技術水平的事情,涉及多個方面,比如: - 產品本身優化:收集用戶回饋,改進產品功能和用戶體驗。 - 頁面設計優化:確保網站設計更美觀、更易用。 - 網站效能優化:比如通過優化程式碼、使用 CDN 等手段提高網站載入速度。 - 網站可用性優化:確保網站 24 小時可用,避免當機。 - 網站成本優化:通過監控伺服器資源利用率,優化成本,避免浪費。 注意,網站優化不是憑空猜測,而是要在 **符合產品本身定位** 的前提下,通過 **分析實際資料和用戶回饋** 來決定優化策略。 怎麼理解這句話呢? 舉個例子,曾經我以為網站優化就是不斷地增加新功能,別人家網站有什麼,我就添加什麼,結果到最後很多功能也沒有人用,反而分散了精力,沒有把一個功能優化到極致。還有就是用戶有的時候也不知道自己想要什麼、用戶的建議不是都要聽取的,比如有用戶希望給程式導航網站增加一個多人即時聊天室,如果是以前,我可能就做了(技術人內心:反正又不是做不了)。但放到現在,我就會思考一下,然後拒絕,因為我們平台本身就有交流社群的能力,而且做多人即時聊天室的風險太大了,會增加管理和營運成本,誰知道大家在群裡發什麼對吧? 微信產品的老大張小龍曾經說過:每天有 1 億人想教我怎麼樣做產品。如果不考慮做產品的初衷和定位,盲目聽取用戶的建議,微信恐怕會比現在更臃腫吧。 如果不確定是否要做某個優化,可以對用戶進行調研;或者通過灰度,讓一部分人先體驗優化後的網站,再通過收集回饋來驗證優化的效果。 ### 10、網站推廣 我之前在直播中問了大家一個問題:你認為一個網站成功的關鍵是什麼? 有同學說:產品體驗好。 有同學說:用戶多。 我覺得不完全對,個人認為網站成功的關鍵是:**有人用 => 有的賺** 。 我見過很多產品,做的很好,甚至不輸大廠,但最後還是死球了。為啥?你做的再好,沒人用,也是白做。這就是我認為,對於個人站長來說最痛苦的事。 所以網站的推廣至關重要,可以通過以下幾種方式進行: 1. 內容創作:寫文章、做影片,通過優質內容吸引用戶。 2. SEO 優化:通過搜尋引擎優化,提高網站在搜尋引擎中的排名,吸引更多自然流量。 3. 廣告投放:砸錢,找 KOL 合作或者直接在廣告投放平台買量。前期一定要先自己優化廣告文案,確保廣告效果最大化,再去投放。投放的過程中要關注 ROI(投資回報率),當你投放 1 元,能穩定收入 1.01 元時,你就已經成功了! 做網站一定是要考慮盈利的。我認識不少個人站長,其中有些人是純為愛發電,完全不盈利的。剛開始可能很積極,但過不了多久,基本就因為時間忙、嫌麻煩等理由放棄維護網站了。說白了,就是沒動力了、「餓死了」。我之前做的絕大多數網站都是完全免費的,比如免費 SQL 自學網、免費網路安全自學網、框框大學、SQL 生成器、極客范兒瀏覽器主頁等等,也認為做免費網站是值得驕傲的事。但是,這些網站都做不大,因為沒有收入,也就沒有人力和精力去維護更新。稍微換一個思路,如果網站有一些付費內容能夠盈利,從而讓你有資源和動力把網站做的更大,讓更多人知道並使用到你的產品,豈不是更好麼? 當然,一個網站想要盈利,就必須要有良好的用戶體驗。通過不斷優化、營運和推廣,網站才能逐漸進化,越做越大。 ## 寫在最後 看到這裡,相信你已經對個人站長的工作有了全面的了解。 經常有朋友問我:對於程式設計師來說,技術重要還是業務重要? 通過這篇文章,我想說:**技術是基礎能力、是吃飯的本領,而隨著你的工作年限越高,非技術的能力就越重要。** 比如產品思維、營運能力、推廣能力、銷售能力、溝通能力、寫作能力等。這些能力,在你做個人站長的過程中,都能得到鍛鍊和提升。 程式設計師朋友們天然具備站長屬性,不妨試著去成為個人站長,做自己的作品是一件很幸福的事。 而在 Vibe Coding 時代,做個人站長的門檻已經大大降低了。你可以用 AI 快速開發網站,用 AI 生成內容,用 AI 優化營運。只要你有想法、願意嘗試,就一定能做出有價值的產品。 加油,未來的個人站長! ## 推薦資源 1)魚皮 AI 導航網站:[AI 資源大全、最新 AI 資訊、免費 AI 教程](https://ai.codefather.cn) 2)程式導航學習圈:[學習路線、程式教程、實戰項目、求職寶典、交流答疑](https://www.codefather.cn) 3)程式設計師面試八股文:[實習/校招/社招高頻考點、企業真題解析](https://www.mianshiya.com) 4)程式設計師寫履歷神器:[專業模板、豐富例句、直通面試](https://www.laoyujianli.com) 5)1 對 1 模擬面試:[實習/校招/社招面試拿 Offer 必備](https://ai.mianshiya.com)