個(gè)人網(wǎng)站沒落了?
點(diǎn)擊上方“Jack Cui”,選擇“加為星標(biāo)”
第一時(shí)間關(guān)注技術(shù)干貨!

1
個(gè)人網(wǎng)站,就如同當(dāng)年的QQ空間,一個(gè)曾經(jīng)很時(shí)髦的的名詞,如今卻逐漸被人們淡忘。?
個(gè)人網(wǎng)站,也早已不再是互聯(lián)網(wǎng)流量的重要入口。移動(dòng)互聯(lián)網(wǎng)時(shí)代,是公眾號(hào)、B站、知乎、頭條、抖音等內(nèi)容創(chuàng)作平臺(tái)的天下。
盡管如此,仍然有一些群體愿意玩?zhèn)€人網(wǎng)站,他們是目標(biāo)成為程序員的學(xué)生黨,以及熱愛折騰的打工人。
搭建個(gè)人網(wǎng)站,對(duì)于程序員來說,是一個(gè)學(xué)習(xí) Linux 基礎(chǔ)、數(shù)據(jù)庫、前后端知識(shí)的實(shí)戰(zhàn)項(xiàng)目,也可以加深對(duì)網(wǎng)絡(luò)爬蟲的理解。
我的個(gè)人網(wǎng)站,已經(jīng)穩(wěn)定運(yùn)行了3年,每日訪客 1000+。

寫了很多成系統(tǒng)的技術(shù)文,當(dāng)然最受歡迎的當(dāng)屬機(jī)器學(xué)習(xí)和網(wǎng)絡(luò)爬蟲系列文章,閱讀量早已破百萬。
對(duì)于程序員來說,寫技術(shù)文章,是鞏固梳理知識(shí)點(diǎn)的過程,也方便后續(xù)自己對(duì)于已學(xué)知識(shí)點(diǎn)的回顧。受益于個(gè)人網(wǎng)站,當(dāng)初畢業(yè)找工作的我,也曾意外獲得過一些額外的面試機(jī)會(huì)。
加我好友的讀者朋友,除了會(huì)問我一些技術(shù)問題,還會(huì)問我怎么搭建和運(yùn)營(yíng)個(gè)人網(wǎng)站,怎樣運(yùn)營(yíng)公眾號(hào)。
有啥問題,給我個(gè)三連,「膚淺」的我立馬寫文作答。
今天,就先來篇詳細(xì)的個(gè)人網(wǎng)站搭建教程。
2

3
服務(wù)器公網(wǎng)IP
服務(wù)器遠(yuǎn)程連接密碼
例如阿里云 ECS 可以登錄控制臺(tái)查看服務(wù)器公網(wǎng) IP 和遠(yuǎn)程連接密碼:

遠(yuǎn)程登錄工具我使用的是 XShell ,也可以用 SecureCRT ,XShell 的使用可以看下我早期在 CSDN 寫的文章:
https://blog.csdn.net/c406495762/article/details/70808051
在 XShell 配置里填寫好主機(jī)(服務(wù)器公網(wǎng)IP),登錄用戶(root),登錄密碼(服務(wù)器遠(yuǎn)程連接密碼)即可完成登錄。
登錄服務(wù)器后需要安裝一些后續(xù)需要用到的指令包:
yum install vim unzip lrzsz如果是 Ubuntu 主機(jī),安裝指令需要使用 apt-get install,Ubuntu 的Centos 一些指令是有些區(qū)別的。本文以 Centos 為例說明,后續(xù)不再強(qiáng)調(diào)。
接下來如果是阿里云的用戶,還需要配置安全組規(guī)則:

然后添加 80 端口(http用)和 443 端口(https用),添加如下:

當(dāng)然如果服務(wù)器供應(yīng)商直接就開啟了80和443端口,可以直接忽略此步。
OK,搞定這些,接下來我們配置服務(wù)器。
4
LNMP一鍵安裝包是一個(gè)用Linux Shell編寫的可以為CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或獨(dú)立主機(jī)安裝LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生產(chǎn)環(huán)境的Shell程序。
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
沒有特殊需要,建議使用默認(rèn)配置即可,直接回車或輸入序號(hào)再回車,會(huì)出現(xiàn)如下界面:

設(shè)置MySQL的root密碼(為了安全不輸入直接回車將會(huì)設(shè)置為lnmp.org#隨機(jī)數(shù)字)如果輸入有錯(cuò)誤需要?jiǎng)h除時(shí),可以按住Ctrl再按Backspace鍵進(jìn)行刪除(個(gè)別情況下是只需要Backspace鍵)。輸入后回車進(jìn)入下一步,如下圖所示:

詢問是否需要啟用MySQL InnoDB,InnoDB引擎默認(rèn)為開啟,一般建議開啟,直接回車或輸入 y ,如果確定確實(shí)不需要該引擎可以輸入 n,(MySQL 5.7+版本無法關(guān)閉InnoDB),輸入完成,回車進(jìn)入下一步。

注意:選擇PHP 7+版本時(shí)需要自行確認(rèn)PHP版本是否與自己的程序兼容。
輸入要選擇的PHP版本的序號(hào),回車進(jìn)入下一步,選擇是否安裝內(nèi)存優(yōu)化:

可以選擇不安裝、Jemalloc或TCmalloc,輸入對(duì)應(yīng)序號(hào)回車,直接回車為默認(rèn)為不安裝。本站用了Jemalloc優(yōu)化。
如果是LNMPA或LAMP的話還會(huì)提示設(shè)置郵箱和選擇Apache:

“Please enter Administrator Email Address:”,需要設(shè)置管理員郵箱,該郵箱會(huì)在報(bào)錯(cuò)時(shí)顯示在錯(cuò)誤頁面上。再選擇Apache版本:

按提示輸入對(duì)應(yīng)版本前面的數(shù)字序號(hào),回車。
提示"Press any key to install...or Press Ctrl+c to cancel"后,按回車鍵確認(rèn)開始安裝。LNMP腳本就會(huì)自動(dòng)安裝編譯Nginx、MySQL、PHP、phpMyAdmin等軟件及相關(guān)的組件。
安裝時(shí)間可能會(huì)幾十分鐘到幾個(gè)小時(shí)不等,主要是機(jī)器的配置網(wǎng)速等原因會(huì)造成影響。
如果顯示Nginx: OK,MySQL: OK,PHP: OK

表明安裝成功。
安裝好后,使用如下指令查看nginx配置文件(可能不同系統(tǒng)會(huì)安裝位置會(huì)有所不同):
cat /usr/local/nginx/conf/nginx.conf你會(huì)看到如下內(nèi)容:



5
WordPress是使用PHP語言開發(fā)的博客平臺(tái),用戶可以在支持PHP和MySQL數(shù)據(jù)庫的服務(wù)器上架設(shè)屬于自己的網(wǎng)站。也可以把 WordPress當(dāng)作一個(gè)內(nèi)容管理系統(tǒng)(CMS)來使用。
wget https://cn.wordpress.org/latest-zh_CN.zip && unzip latest-zh_CN.zip -d /home/wwwrootmysql -u root -pcreate database wordpress;輸入exit退出。
接下來就是修改 nginx 配置文件,如果不會(huì) vim 用 vim ,建議先看下 vim 操作方法,并且對(duì) nginx.conf 進(jìn)行備份:
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf_bak操作失誤了,直接使用如下指令恢復(fù):
rm /usr/local/nginx/conf/nginx.conf && mv /usr/local/nginx/conf/nginx.conf_bak /usr/local/nginx/conf/nginx.confvim /usr/local/nginx/conf/nginx.conf

nginx -tnginx -s reloadcd /home/wwwroot && chown -R www wordpress/ && chgrp -R www wordpress/


vim wp-config.php

6

7
域名(英語:Domain Name),簡(jiǎn)稱域名、網(wǎng)域,是由一串用點(diǎn)分隔的名字組成的Internet上某一臺(tái)計(jì)算機(jī)或計(jì)算機(jī)組的名稱,用于在數(shù)據(jù)傳輸時(shí)標(biāo)識(shí)計(jì)算機(jī)的電子方位(有時(shí)也指地理位置)。

DNS(Domain Name System,域名系統(tǒng)),萬維網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過域名,最終得到該域名對(duì)應(yīng)的IP地址的過程叫做域名解析(或主機(jī)名解析)。DNS協(xié)議運(yùn)行在UDP協(xié)議之上,使用端口號(hào)53。在RFC文檔中RFC 2181對(duì)DNS有規(guī)范說明,RFC 2136對(duì)DNS的動(dòng)態(tài)更新進(jìn)行說明,RFC 2308對(duì)DNS查詢的反向緩存進(jìn)行說明。

https://help.aliyun.com/document_detail/29716.html
8
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密。
可以理解為提高網(wǎng)站安全,可以一定程度避免網(wǎng)站被運(yùn)營(yíng)商劫持貼小廣告等。
http://xxx.com這樣的就是沒有配置SSL,如果是https://xxx.com這樣就是配置了SSL。
1、SSL證書購買
阿里云提供免費(fèi)的證書,可以通過官方渠道購買:
https://www.aliyun.com/product/cas
2、SSL配置
根據(jù)網(wǎng)站服務(wù)器的不同,配置方式也不相同,nginx、apache、nginx+apache不盡相同。這部分內(nèi)容就不講解了,阿里云官方有官方教程。
9
除了購買服務(wù)器這個(gè)路子之外,其實(shí)還可以用 Github 搭建自己的博客,這樣的好處就是服務(wù)器維護(hù)不用你管,你只負(fù)責(zé)設(shè)計(jì)主題就夠了,非常省心省力,而且還有Hexo 這樣的優(yōu)秀主題供我們使用。
但是缺點(diǎn)也是有的,服務(wù)器配置不高,而且有些限制,不夠自由,更重要的是,你說哪天 Github 要是被墻了怎么辦?我一直有這樣的擔(dān)心。So,就費(fèi)點(diǎn)勁兒吧。
在實(shí)踐中成長(zhǎng),莫怕踩坑,學(xué)習(xí)是一條令人時(shí)而郁郁寡歡、時(shí)而欣喜若狂的道路。
成長(zhǎng)的路上我們共勉前行。
想看什么內(nèi)容,也歡迎私信我,或者評(píng)論區(qū)里留言。有三連,我就有動(dòng)力!
我是 Jack Cui,我們下期見!

推薦閱讀
1
2
3
4
