Ubuntu系統下使用php7+mysql+apache2搭建自己的博客

来源:https://www.cnblogs.com/rxzhang/archive/2020/02/15/12313697.html

很多人都有寫博客的習慣,奈何國內的博客網站正在一家家地關閉與重整,部分博客網站也充斥著太多的廣告,使用體驗非常不好。對於愛寫博客的朋友來說,其實還有一個更好的選擇,那就是自己搭建一個博客。 ...


很多人都有寫博客的習慣,奈何國內的博客網站正在一家家地關閉與重整,部分博客網站也充斥著太多的廣告,使用體驗非常不好。對於愛寫博客的朋友來說,其實還有一個更好的選擇,那就是自己搭建一個博客。

搭建一個自己的博客網站首先需要購買雲伺服器,然後在伺服器中配置必要的運行環境或安裝依賴的軟體,最後還可以購買與綁定功能變數名稱,可以讓谷歌,百度等搜索引擎更好地搜錄。

購買雲服務的選擇很多,國內國外都有很多很優秀的雲伺服器提供商,比如國內的阿裡雲,騰訊雲,國外的amazon等等。但是這裡要提醒大家的是,如果購買的國內的伺服器,在綁定功能變數名稱的時候,是需要向有關部門申請功能變數名稱備案的,過程略繁瑣,但好在可以在網上完成這些步驟。在國外提供商處購買功能變數名稱,伺服器是不需要備案的。

下麵我們拿國外的雲伺服器提供商virmach(網址:https://www.virmach.com/)為例簡單的說明下如何搭建自己的博客。

首先是購買雲伺服器,virmach的官網頁面如下:

virmach官網

我們點擊上圖的Affordable Linux VPS,然後進入到選擇配置的界面

伺服器配置選擇界面

這裡有不同配置的伺服器可以選,$2.25 per month的配置就夠用了,然後點擊buy now,在新的頁面里可以選擇伺服器的位置等信息,大家可以選擇美國西海岸洛杉磯的機房。都選擇好以後點擊加入購物車,之後你需要註冊賬號購買購物車裡的商品,也就是我們剛剛選擇的伺服器,註冊賬號購買的流程就不詳述了,相信大家都會。

伺服器細節選擇界面

購買完成後,系統會快速完成伺服器的分配,之後,點擊Home,進入到你的主頁,然後點擊services,就是你訂單的界面。virmach home

點擊你剛剛購買的伺服器的名稱,就是下圖箭頭所指的鏈接。

伺服器訂單

 

你便進入到了伺服器的管理界面,這裡有該伺服器的詳細信息以及控制面板之類的工具。

首先我們安裝系統,點擊re-install OS,準備重新安裝你想要的系統。

re-install OS

 

然後選擇你的系統,這裡我們選擇ubuntu16.04,點擊re-install OS,就完成了系統的重新安裝。

 

 

 ubuntu16.04

 然後進入伺服器的詳情界面,這裡有我們需要的信息。比如伺服器的IP地址以及初始的root密碼,後續我們會用到這些信息。

server details

之後我們需要能夠遠程登錄你購買的伺服器的軟體。我們可以使用windows自帶的cmd進行操作,但是cmd的操作界面比較單一,對不熟悉linux命令行的人來說不太習慣,所以我在這裡推薦一個神器--MobaXterm(官網鏈接:https://mobaxterm.mobatek.net/),大家可以自行百度,然後下載,下載安裝後便可以使用了,這個軟體的下載安裝也非常簡單,這裡就不多介紹了。

雙擊打開MobaXterm軟體,先點擊界面左上角的Session,然後在彈出來的界面中點擊SSH,我們便可以新建一個SSH會話。

new session

然後在Remote host中填入你伺服器的IP,勾選Specify username後填入root。點擊OK,就新建完成一個新的SSH。

ssh info

我們可以看到MobaXterm左側工具欄中已經有你新建好的SSH的信息了,我們雙擊它,便可以連接伺服器。

第一次連接需要你輸入root密碼,也就是我們剛剛在server details界面的Root password,密碼比較長且複雜,請大家仔細輸入。密碼輸入正確後,便可以遠程操作伺服器了。你將會看到如下界面。

login success

如果不喜歡這個複雜的密碼,我們可以在命令行鍵入passwd命令修改root密碼。

passwd

伺服器的連接到此完成,接下來就是安裝必要的軟體了,這裡我們選擇PHP+mysql+apache2的搭配方式,這也是很常見的伺服器網站配置。

首先更新源,輸入下麵的命令並回車。

sudo apt-get update

然後安裝apache2,期間可能會詢問你是否要繼續操作,輸入Y回車就行。

sudo apt-get install apache2

apache2安裝完成後,我們安裝php。

sudo apt-get install php7.0

然後安裝mysql。

sudo apt-get install mysql-server

安裝的時候會有界面彈出來讓你設置資料庫密碼(方向鍵可以控制游標的移動),輸入自己想要設置的密碼就行,再次確認密碼就OK。

mysql passwd

再執行下述命令。

sudo apt-get install php7.0-mysql
sudo apt-get install libapache2-mod-php7.0

軟體的安裝已經完成。我們可以測試下能不能正常運行。

# 切換到web根目錄
cd /var/www/html
rm index.html

我們直接在伺服器新建一個名為index.php的腳本。在左側的sftp欄中直接右擊滑鼠,然後左鍵點擊New empty file,輸入文件名為index.php。

new file

然後寫入如下內容。記得保存並關閉文件。

<?php
    echo "<h1>Hello world!</h1>";
?>

new php

之後打開你的瀏覽器,輸入你伺服器的IP地址,如果看到如下效果,恭喜你,基本上你已經成功配置!

後續的步驟需要安裝博客程式,有很多開源的php博客程式,比如wordpress等等,wordpress應該算是最火最強大的php CMS之一了,它提供的插件,模板非常豐富,因此我們使用wordpress構建博客。

下載wordpress程式並解壓,在命令行逐行輸入並運行以下命令。

wget -c https://wordpress.org/latest.tar.gz
tar -xzvf ./latest.tar.gz
cp -r ./wordpress/* ./
rm -rf ./wordpress/

然後我們需要為博客新建一個資料庫,在命令行中鍵入以下命令並回車。系統會提示你輸入密碼,註意此處要輸入的密碼是你先前創建的資料庫的密碼,就是你在粉紅色的界面內創建的密碼。

mysql -uroot -p

然後逐行輸入以下命令,並回車。此處的blog你可以替換成你喜歡的名字,blog只是我拿來做示例的,註意這些命令後面都帶分號。

CREATE DATABASE blog;
exit;

然後我們開始正式安裝wordpress程式。

在瀏覽器地址欄輸入你伺服器的IP地址並回車。可以看到如下界面,點擊let's go進入下一步的安裝。

wp01

接下去就是填寫網站的基本信息,此處略過,填寫完成後就是填寫資料庫的基本信息。Database name處填你剛剛創建的資料庫的名字,如果你沒有改,那就是blog,username填入root,password填寫你資料庫的密碼,不要填寫錯誤。table prefix可以自己取,例如我在示例中填寫的是myblog_。點擊submit。

wp02

然後系統可能會提示你無法創建wp-config.php文件,你只要在/var/www/html/目錄下新建一個wp-config.php文件,並且把網頁中提示的要輸入的代碼粘貼進wp-config.php文件中保存就行。

然後在瀏覽器中點擊下一步你就能看到成功安裝了!

wp03

最後在mobaXtrem的命令行中在鍵入如下命令並回車執行。

chmod -R 775 ./*

再簡單說下wordpress。

瀏覽器中輸入你伺服器的IP地址並回車訪問,應該就可以看到你博客的主界面了。當然界面是可以隨時更換的。

blog

然後輸入http://你的IP/wp-login.php便可以登陸網站的後臺。你可以在後臺發佈新的文章,創建網站的頁面,安裝網站的插件,更換網站的UI等等,wordpress提供了非常多的頁面主題,都很好看。

wp dashboard

wp theme

如果想要功能變數名稱的話,可以去很多功能變數名稱提供商處購買,購買完後與IP做個綁定就行,比如我是在porkbun上購買的(網址:https://porkbun.com/),之後就可以直接用功能變數名稱訪問你的網站了,這裡就不做介紹了。

 


您的分享是我們最大的動力!

更多相關文章
  • 為什麼分層? 不分層封裝的話,下麵的代碼就是上端直接依賴於下端,也就是UI層直接依賴於數據訪問層,分層一定要依賴抽象,滿足依賴倒置原則,所以我們要封裝,要分層 下麵這張圖和傳統的三層略有不同,不同之處在於,UI層不直接依賴於業務邏輯層,而是UI層依賴於業務邏輯抽象層IBLL,業務邏輯層不直接依賴於數 ...
  • Magicodes.IE在Docker中使用 更新曆史 2019.02.13 【Nuget】版本更新到2.0.2 【導入】修複單列導入的Bug,單元測試“OneColumnImporter_Test”。問題見(https://github.com/dotnetcore/Magicodes.IE/is ...
  • 1.前言 為什麼需要內部yum源呢,有可能是業務內部的伺服器對外是不通了,居於一些安全方面的考慮。內部yum源又有什麼好處呢,第一,速度快;第二,內網可控,外網有問題也不影響內網包的下載和安裝等。 2.部署 2.1 創建yum倉庫目錄 2.2 鏡像同步公網yum源 上游yum源必須要支持rsync協 ...
  • 1 #!/bin/bash 2 # @Author: HanWei 3 # @Date: 2020-02-14 18:51:37 4 # @Last Modified by: HanWei 5 # @Last Modified time: 2020-02-14 18:51:37 6 # @E-mai ...
  • 一、環境 VMWare+Centos7 二、寫在前面的話 安裝GCC最簡單的方式當然是【yum -y install gcc】但是我的機器上安裝下來後,其版本是4.8.5,感覺有點低,所以想升級一下(7.2.0, 8.2.0之類的版本)。於是需要手動安裝。 三、吃過的坑 1. 本地沒有GCC導致編譯 ...
  • rpm可以實現程式的快速,簡單安裝(跟編譯安裝比),但是rpm自己不能解決依賴,所以很多工具為了自動解決依賴應運而生,其中yum就是其中之一。 yum解決依賴的辦法: 必須有個文件伺服器,裡面放置所以的rpm包,以及包的相關元數據( qi, qR得到的數據)。元數據可以使用 來創建。並放置在repo ...
  • 1 DHCP伺服器簡介 DHCP(Dynamic Host Configuration Protocol),動態主機配置協議,DHCP 協議主要是用來自動為區域網中的客戶機分配TCP/IP 信息的網路協議,並完成每台客戶機的TCP/IP 協議配置。當我們將區域網中客戶機IP地址設置為動態獲取方式時, ...
  • 實驗環境:centos7 註:因為本次實驗在同一臺伺服器上,Apache與Nginx同為80埠,所以改Apache埠為60 1 配置Nginx伺服器: 編輯Nginx配置文件,寫入以下內容 location ~ \.php$ { 所有以.php結尾的文件,前面\代表轉義 proxy_pass h ...
一周排行
  • 《ASP.NET MVC 企業級實戰》 [作者] (中) 鄒瓊俊[出版] 清華大學出版社[版次] 2017年04月 第1版[印次] 2019年08月 第6次 印刷[定價] 89.00元 【第01章】 (P021) 只有在 Lambda 有一個輸入參數時,括弧才是可選的,否則括弧是必需的。 使用空括弧 ...
  • 上一篇(https://www.cnblogs.com/meowv/p/12971041.html)使用HtmlAgilityPack抓取壁紙數據成功將圖片存入資料庫,本篇繼續來完成一個全網各大平臺的熱點新聞數據的抓取。 同樣的,可以先預覽一下我個人博客中的成品:https://meowv.com/ ...
  • 前言 請了一天假後回公司,同事跟我說使用Newtonsoft.json序列化TreeView對象的時候出現報錯; 啊!什麼?這個類庫不是能夠序列化所有東西嗎?真的很懵逼,也是我第一次使用這個類庫出現問題! 問題異常 異常信息 : Newtonsoft.Json.JsonSerializationEx ...
  • 簡單瞭解下麵詞語的意思 節點:二叉樹中每個元素都稱為節點 葉子節點(簡稱:葉子):度為0的節點,葉子節點就是樹中最底段的節點,葉子節點沒有子節點,也叫終端結點 分枝節點:度不為0的結點 節點的度:二叉樹的度代表某個節點的孩子或者說直接後繼的個數,簡單說就是一個節點擁有的子樹數 樹的度: 樹中最大的結 ...
  • C# 中的LINQ 提供了兩種操作方式,查詢表達式和查詢操作符,所有的查詢表達式都有對應的查操作符類替代,查詢表達式有點“類” SQL,在代碼中寫SQL,總覺得不夠“優雅”,使用查詢操作符就顯得“優雅”很多, 本系列就來對所有的LINQ 標準操作符進行一個全面的總結,這些操作符和我上篇文章總結的Rx ...
  • 在Startup ConfigureServices 註冊本地化所需要的服務AddLocalization和 Configure<RequestLocalizationOptions> public void ConfigureServices(IServiceCollection services ...
  • 為什麼需要持久化,以及Redis持久化的RDB方式在這篇文章講的已經很透徹了,足以弔打面試官了。而且此篇內容需要RDB文章的內容支持,所以建議先看下:看完這篇還不懂Redis的RDB持久化,你們來打我! 一、什麼是AOF 它也是Redis持久化的重要手段之一,aof->Append Only Fil ...
  • 先上圖: @IT程式猿 微博網友評論: @迢書:前同事的,親眼見過 @AvenGeeker:Bug 404 @科技州:這是要逼死強迫症 @小島一瞥:哈哈哈哈哈我老家的車 最後小編整理了一套技術資料不僅能精準消除技術盲點、累計面試經驗,更可以攻剋JVM、Spring、分散式、微服務等技術難題。 海量電 ...
  • 概括來說,分三步: 1,首先找到是哪個進程的CPU占有率飆到了100%。 2,根據進程號pid,定位到是哪個線程,找到對應線程的tid。 3,導出對應線程的dump日誌文件,分析日誌文件定位具體代碼。 要解決這個問題,你應該具備以下技能: 1,linux的top命令。 2,jvm監控工具jps。 3 ...
  • 寫在最後 程式員為何害怕【別人的代碼】呢?這讓我想起一個段子。 寫這段代碼時 只有上帝和我知道他是幹嘛的 現在 只有上帝知道了 別人的代碼,似乎總意味著冗長、晦澀、凌亂,給人一種不想靠近的感覺。搞笑的是,對於一些程式員而言,即使是自己的代碼,在一段時間之後自己再拿來看,也成了【別人的代碼】... 作 ...