主頁 > 後端開發 > 利用WordPress搭建屬于自己的網站

利用WordPress搭建屬于自己的網站

2022-12-27 07:10:33 後端開發

怎么用WordPress給自己搭建了一個網站?可能很多人都想擁有屬于自己的網站,這篇文章就找你怎么利用WordPress搭建屬于自己的網站,如果你也正好有搭建個人網站的想法,那么本文會給你一個參考,我盡量寫的比較詳細,給自己做一個記錄,也給大家一個參考,

目錄
  • 寫在前面
  • 準備作業
    • 一臺Linux服務器
    • 一個專屬的域名
    • 一個遠程登陸軟體
    • 部署方式選擇
  • 部署LNMP
    • 什么是LNMP
    • 安裝LNMP
    • 配置Nginx
    • 安裝WordPress
    • 裝扮你的網站
      • 安裝主題
      • 安裝插件
  • 部署https

寫在前面

在教程之前,先給大家show 一下效果,歡迎你去點點點~
網站地址:https://zhangfeidezhu.com

準備作業

一臺Linux服務器

在開始搭建網站之前,當然第一步是購買一個屬于自己的 『服務器』,

你可以選擇如下渠道進行購買:阿里云、騰訊云、Ucloud等的大廠服務器,不要貪圖便宜去買國外的服務器廠商,因為速度很慢很多,很影響體驗,

我的就是在騰訊云上購買的,剛開始買個最低配置的服務器就行,以后不夠用了,可以慢慢升級,擴容,可以先領個券,再購買更實惠:點擊領券

一個專屬的域名

買了服務器后,你就會擁有一個公網ip,如果網站搭建起來了,你完全可以使用這個 ip 去訪問,但僅供開發、測驗使用,
如果要真正運營起來,想要有流量,還得搞一個域名,方便你推廣,

域名的購買建議和上面服務器使用同一個廠商,可以省去一些麻煩,比如阿里云購買的域名要備案是需要你在阿里云下有一臺服務器的,

一個遠程登陸軟體

由于后面我使用的是手工部署的方式,所以要登陸服務器進行操作,

登陸的方法有兩種:

  1. 廠商提供的控制臺界面登陸:Workbench和VNC,這種方法對于不經常登陸服務器運維的人來說,還是可以的,但是不推薦互動比客戶端的感覺差一些,

  1. 自己下載專業的遠程登陸軟體:Tabby、Xshell或者CRTSecure,在使用這些遠程登陸軟體時,你需要在服務器廠商控制臺上面先獲取到三個資訊服務器公網IP、服務器SSH埠、服務器遠程連接密碼,這里我選擇Tabby,因為這個是免費的,直接使用就可以,界面也比較簡潔

部署方式選擇

部署方式,可分為兩種

  1. 使用服務器管理軟體,實作自動化部署,最著名的就是寶塔面板,
  2. 手動登陸遠程服務器,實作腳本化部署,

那么如何選擇呢?

  • 使用寶塔部署,門檻低,只要會界面點一點即可,
  • 而使用腳本自己手工部署,需要你學會遠程登陸服務器:使用Xshell或者直接使用廠商提供的在線SSH視窗
    一些Linux的基本操作:比如Vi/Vim的使用,目錄及檔案的基本操作等

在這里建議大家跟著我使用第二種方法,也就是手工使用腳本進行部署,更精細的部署步驟會讓你對WordPress的運作方式有更深的理解,比如使用了哪些軟體,裝了哪些包?自己搭建了網站,難免以后會碰到各種各樣的服務器問題,盡早的接觸Linux,熟悉各項配置,對以后的運維作業會有很有幫助,

部署LNMP

什么是LNMP

LNMP是Linux+Nginx+MySQL+PHP組合的簡寫,

類似的組合還有:
LAMP的全稱是Linux+Apache+MySQL+PHP
LNAMP的全稱是Linux+Nginx+Apache+MySQL+PHP

  • Linux是類Unix計算機作業系統的統稱,是目前最流行的免費作業系統,代表版本有:debian、centos、ubuntu、fedora、gentoo等,
  • Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器,
  • Apache是世界使用排名第一的Web服務器軟體,它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟體之一,
  • PHP是一種在服務器端執行的嵌入HTML檔案的腳本語言,
  • MySQL是一個關系型資料庫管理系統,

這些軟體一個一個安裝比較費力,特別是資料庫,有人把這些軟體的安裝部署程序集成為一個Shell腳本,只要下載并執行它就可以直接安裝了,

安裝LNMP

下載LNMP安裝腳本(版本查看:https://lnmp.org/download.html)

wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz

解壓并執行它

tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp

接下來會出現大量的選項,如果你不是很懂各個選項間的區別,按默認就行,

運行腳本后,首先會讓你選擇資料庫的版本,沒有特殊需要,建議使用默認配置,直接回車或輸入序號再回車,

選好資料庫,會讓你設定資料庫root用戶的密碼,此時如果你直接回車,會默認設定為lnmp.org#亂數字,在輸入密碼的時候,對于新手有一點注意:如果輸入有錯誤需要洗掉,需要按住Ctrl再按Backspace鍵進行洗掉,密碼輸好后,回車進入下一步

詢問是否需要啟用MySQL的InnoDB,InnoDB引擎默認為開啟,一般建議開啟,直接回車或輸入y,如果確定確實不需要該引擎可以輸入n,(MySQL5.7+版本無法關閉InnoDB),輸入完成,回車進入下一步;

選擇PHP版本,建議安裝PHP7+的版本,回車進入下一步;

選擇是否安裝記憶體優化:可以選擇不安裝、Jemalloc或TCmalloc,輸入對應序號回車,直接回車為默認為不安裝,

如果是LNMPA或LAMP的話還會提示設定郵箱和選擇Apache:"Please enter Administrator Email Address:";

設定管理員郵箱,該郵箱會在報錯時顯示在錯誤頁面上,再選擇Apache版本:按提示輸入對應版本前面的數字序號,回車,

提示"Press any key to install…or Press Ctrl+c to cancel"后,按回車鍵確認開始安裝,

LNMP腳本就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin等軟體及相關的組件,安裝時間可能會幾十分鐘到幾個小時不等,主要是機器的配置網速等原因會造成影響,

如果顯示“Nginx: OK,MySQL: OK,PHP: OK”,表明安裝成功,

最后幾行的輸出

  • 3306 埠是 MySQL 監聽的
  • 80 是 HTTP 埠
  • 22 是 SSH 埠

配置Nginx

安裝好后,使用如下指令查看nginx組態檔(如果你的服務器上找不到該檔案,那請使用 find / -name nginx.conf 搜索一下)

cat /usr/local/nginx/conf/nginx.conf

你會看到如下內容:

上圖表明,安裝好的nginx將網站的根目錄設定為/home/wwwroot/default,這個可以根據自己的喜好進行修改,
用瀏覽器打開http://ip,可以看到如下內容(如果訪問不了,有可能是你服務器的安全組沒有開放80埠,去控制臺開放一下即可)
其實這就是一個簡單的網頁demo了,自己隨便修改index.html,就會有不同的內容,

安裝WordPress

WordPress是使用PHP語言開發的博客平臺,也就是一個博客框架,上一步安裝的LNMP,只是保證了WordPress的基本運行環境,
想要把你的個人網站跑起來,咱還需要安裝WordPress,方法也很簡單,下面跟著操作就行,

  1. 安裝 wordpress 安裝包并解壓到 /home/wwwroot
wget https://cn.wordpress.org/latest-zh_CN.zip && unzip latest-zh_CN.zip -d /home/wwwroot
  1. 登錄MySQL(密碼在前面部署LNMP時你設定過),創建wordpress表,創建完后輸入exit退出,
$ mysql -u root -p
Enter password:
MySQL > create database wordpress;
  1. 使用vim修改nginx組態檔(不會vim的自行百度)
$ vim /usr/local/nginx/conf/nginx.conf

找到網站根目錄位置,如下圖所示:

修改成如下內容:

隨后,使用:wq保存配置退出即可,

驗證nginx是否有配置錯誤:

nginx -t

如果出現ok,successful字樣,說明沒有錯誤,沒有錯誤,重新加載nginx:

$ nginx -s reload

修改wordpress目錄權限:

cd /home/wwwroot && chown -R www wordpress/ && chgrp -R www wordpress/

用瀏覽器打開http://ip/wp-admin/setup-config.php,你可以看到如下內容:

現在就開始,進行安裝,填寫資訊如下:

其中,*** 改為你設定的MySQL資料庫密碼,點擊提交,出現如下內容:

在/home/wwwroot/wordpress下,創建并撰寫wp-config.php檔案:

$ vim wp-config.php

將上圖內容復制進去并:wq保存退出,然后點擊現在安裝,最后就是配置用戶資訊了,這個是你登錄wordpress用戶后臺的,要記住:

最后點擊安裝WordPress,安裝成功會出現如下界面:

點擊登錄,輸入賬戶密碼,就可以登錄自己的 wordpress 后臺了,

這時候你使用瀏覽器去訪問http://ip,就可以看到你搭建的第一個網站了,

此時你看到的這個網站,是wordpress默認為你安裝的免費主題(應該有三個),可能并不是那么的好看,但沒關系,后面你可以自己挑選一個自己合適的主題,把你的網站裝扮得有模有樣,

裝扮你的網站

到這里,你的網站部署已經全部完成,但是還差最后一步,也是使用WordPress最為核心的一步:讓你的網站看起來更加專業,更加成熟,

為此我們需要做兩件事:

  • 安裝主題:讓網站變得好看
  • 安裝插件:豐富網站的功能

安裝主題

同樣都使用的WordPress的網站,外觀上卻天差地別,有的很酷炫,有點很簡約,這是因為選了不同的主題,在你安裝完WordPres后,本身就自帶了幾個免費的主題,幾乎沒人會使用它們,因為有點丑,在WordPress的自帶了主題商店,里面有大量的免費主題,各式各樣的都有,可能有你喜歡的,

你也可以通過搜索引擎找到了一個你喜歡的主題,甚至自己開發一個主題,開發主題可以自己百度,都到了開發這個程度,應該就不用我這里教了,

安裝插件

前期不用安裝太多的插件,基本夠用就行,下面列舉一下比較常用:

  • WP User Avatar:原生WordPress默認使用Gravatar頭像,用戶(包括訪客評論)的頭像調取都是根據所留郵箱匹配的Gravatar頭像,
    沒有Gravatar怎么辦?只要裝上WP User Avatar這個插件就能可以使用WordPress 媒體庫中的圖片作為默認頭像了,
  • WP-PostViews:安裝了WP-PostViews,就可以統計你文章的瀏覽次數,
  • WP Editor.md:這是一個WordPress中最好,最完美的Markdown編輯器,可以像md2all和mdnice那樣,即時顯示Markdown的渲染效果,
  • Simple Custom CSS:在修改WordPress主題時,CSS修改是最經常用到的方法,比如調整字體、調整顏色、邊距之類的都需要用到自定義的CSS代碼,雖然說WordPress本身提供了CSS修改的功能,不過使用起來有很多的弊端,其中最麻煩的一點就是每次更換或者更新主題之前的修改都會消失,需要重復的添加,使用Simple Custom CSS這個插件可以避免這種尷尬,安裝后他會在外觀下新增一個自定義CSS的選項,
  • 百度搜索推送管理:百度搜索推送管理插件是一款針對WP開發的功能非常強大的百度和Bing搜索引擎收錄輔助插件,
    利用該插件,站長可以快速實作百度搜索資源平臺和Bing站長平臺URL資料推送及網站百度收錄資料查詢等,
  • Smart SEO Tool:Smart SEO Tool是一款專門針對WordPress開發的智能SEO優化插件,與眾多WordPress的SEO插件不一樣的是,Smart SEO Tool更加簡單易用,幫助站長快速完成WordPress博客/網站的SEO基礎優化,

部署https

要部署https,首先要去有資質的平臺申請證書,如百度云,騰訊云等,這里我選擇騰訊云,

然后按流程一直點擊下一步,知道申請成功,然后再證書管理里面,下載到本地后,你會得到一個zip包,解壓一下,就可以看到證書檔案及私鑰,

因為這里使用的是Nginx,因此獲取Nginx下的兩個檔案上傳到我的服務器上的nginx目錄下,

先使用 find 命令查找一下你的 nginx.conf 路徑

$ find / -name nginx.conf
/usr/local/nginx/conf/nginx.conf

你的證書檔案可以和nginx.conf放在同一目錄下

/usr/local/nginx/conf

接下來使用vim編輯該檔案,找到server,添加如下行,

server
    {
        listen 443 ssl;
        # 注釋掉該行
                # listen 80 default_server reuseport;

        #證書檔案名稱
        ssl_certificate 1_iswbm.com_bundle.pem;
        #私鑰檔案名稱
        ssl_certificate_key 0_iswbm.com.key;

                ...
    }

最后重啟nginx

$ systemctl restart nginx

嘗試用https訪問一下我的網站https://zhangfeidezhu.com ,成功了,

到了這里,還差最后一步,重寫http到https,也就是使用http訪問你的網站,會跳轉到https訪問,這里很簡單修改一下nginx.conf就好,

    ##這里是將http默認的80埠重定向到https
    server 
    {
        listen       80;
        server_name  zhangfeidezhu.com;
        return 301 https://zhangfeidezhu.com$request_uri;
    }
    
    ## https    
    server
    {
        listen 443 ssl http2;
        ssl_certificate zhangfeidezhu.com_bundle.crt;
        ssl_certificate_key zhangfeidezhu.com.key;
        server_name _;
        index index.html index.htm index.php;
        root  /home/wwwroot/wordpress;
    }

這里后臺再設定一下就大功告成了,

博客原文:https://zhangfeidezhu.com/?p=99

本文來自博客園,作者:張飛的豬,轉載請注明原文鏈接:https://www.cnblogs.com/the-pig-of-zf/p/17006842.html

公眾號:張飛的豬大資料分享,不定期分享大資料學習的總結和相關資料,歡迎關注,

個人網站"張飛的豬編程作業室"鏈接: https://zhangfeidezhu.com

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/540729.html

標籤:其他

上一篇:用了這么多年的 SpringBoot 你知道什么是 SpringBoot 的 Web 型別推斷嗎?

下一篇:MATLAB·學習 | music:祝你生日快樂

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more