從零開始使用WordPress搭建個人網站并一鍵發布公網詳細教程

文章目錄

    • 前言
    • 1. 搭建網站:安裝WordPress
    • 2. 搭建網站:創建WordPress數據庫
    • 3. 搭建網站:安裝相對URL插件
    • 4. 搭建網站:內網穿透發布網站
      • 4.1 命令行方式:
      • 4.2. 配置wordpress公網地址
    • 5. 固定WordPress公網地址
      • 5.1. 固定地址訪問WordPress

前言

本文主要介紹如何在Linux Ubuntu系統上使用WordPress搭建一個本地網站,并結合Cpolar內網穿透工具將站點發布公網實現無公網IP遠程訪問。

WordPress作為一款強大而靈活的開源內容管理系統(CMS),因其易用性、豐富的插件和主題選擇,以及強大的社區支持,成為了眾多網站開發者的首選。然而,對于許多初學者和中小型企業來說,如何輕松部署WordPress并使其對外可見,仍然是一個挑戰。

Ubuntu作為一款流行的開源操作系統,以其穩定、安全、易用的特點,贏得了廣大用戶的青睞。結合Ubuntu和WordPress,用戶可以輕松搭建一個功能強大的網站。但是,當網站部署在本地或內網環境中時,如何實現遠程訪問,又成為了一個需要解決的問題。

為了解決這個問題,我們可以利用Cpolar內網穿透技術。Cpolar是一款高效、安全的內網穿透工具,它可以將本地或內網的服務器映射到公網上,生成一個可訪問的公網地址。通過這個公網地址,用戶可以隨時隨地訪問到本地或內網的WordPress網站,無需擔心網絡環境的限制。

1. 搭建網站:安裝WordPress

首先我們先安裝網站所需的運行環境即數據庫,我們可以在Ubuntu系統桌面,點擊鼠標右鍵,并在菜單中點擊“在終端中打開”,進入Ubuntu系統的命令行界面。

20221118142851

20221118142856

接著在命令行中輸入命令,安裝Apache2

sudo apt install apache2 php -y

20221118142902

20221118142907

在Apache2安裝完成后,還需要安裝數據庫,才能支持WorePress網站的正常運行。同樣的,我們在命令行窗口輸入命令,安裝MySQL數據庫。

sudo apt install mariadb-server php-mysql -y
sudo service apache2 restart

20221118142913

20221118142918

最后,我們就可以在命令行中輸入WordPress的下載和安裝。不過與Apache和MySQL不同,WordPress是網站運行的包合集,因此我們需要先將WordPress的壓縮包下載到單獨的文件夾,在解壓后才能使用這些文件。

我們先輸入命令,轉入上一級目錄

cd /var/www/html

在該目錄下輸入命令,下載WordPress的壓縮包

sudo wget http://wordpress.org/latest.tar.gz

20221118142925

下載完成后,再輸入命令解壓

sudo tar xzf latest.tar.gz

看一下目錄列表

ls

20221118142930

解壓完成后,我們需要將WordPress的文件移動到上級目錄,輸入命令移動所有文件。

sudo mv wordpress/* .

從順序上來看,之前下載的WordPress壓縮包就在這一層文件夾中(可以輸入“ls”查看文件夾中的文件進行確認)。為防止干擾,我們可以將WordPress的壓縮包刪除,輸入命令

sudo rm -rf wordpress latest.tar.gz

20221118142937

再輸入命令確認壓縮包已經刪除

ls

20221118142944

接下來我們刪除一下apche自帶的靜態頁面

sudo rm index.html

20221118142950

設置該wordpress 文件夾權限

sudo chown -R www-data: .

這條命令執行完成后,再輸入命令,查看權限是否賦予成功。

ls -l

20221118142957

然后接下來訪問wordpress前,重啟一下apache

sudo systemctl restart apache2

如上圖所示,只要各文件名前顯示出www,就說明我們的賦權操作已經完成。到這里,我們在Ubuntu上建立網站的軟件都已經安裝齊備,剩下的工作就是對這些軟件進行相應的配置。

雖然配置過程不算復雜,但相對精細。為了能更清楚的說明配置過程,我們會在下一章節中為大家詳細介紹。


2. 搭建網站:創建WordPress數據庫

在前面的文章中,我們向大家介紹了如何在Ubuntu系統中安裝Apache2、MySQL、WordPress、cpolar幾款軟件,算是為我們的個人網站搭建打好了基礎。但此時這些軟件的狀態是“安裝上”,還不能直接啟用,因此需要對軟件進行相應的配置。現在,我們就來看看,如何對這些軟件進行配置,使其能構建起網站運行的必要環境。

之前我們提到,WordPress網站想要正常運行,必須配備有相應的數據庫,雖然我們安裝了MySQL軟件,但此時還沒有建立其容納數據的數據庫,因此我們首先要對MySQL進行配置。由于數據庫的設定涉及很多權限的確定,因此在這里需要小心,避免留下我們網站被入侵的漏洞。

初始化數據庫,執行下面命令

sudo mysql_secure_installation

20221118143035

  1. 接著,mySQL會提出一系列問題,用以確定數據庫的操作權限。這些問題的順序分別為

    1. 要求root mysql數據庫的密碼(新安裝的軟件沒有預置數據庫,因此無密碼,直接回車);
    2. *切換到unix_socket身份驗證 *
    3. 是否要設置root數據庫的密碼(會要求輸入兩次密碼,密碼一定要一致);
    4. 是否移動匿名賬號;
    5. 是否關閉root的遠程登錄;
    6. 是否移除測試數據庫;
    7. 是否對修改內容重刷權限表;

    image-20240605142345042

這些問題都輸入Y即可通過,但我們要注意,數據庫的密碼很重要,必須設置不易破解的密碼,并且進行妥善記錄防止遺忘。

完成這些步驟后,數據庫的設置也就正式完成。

20221118143042

接下來我們就著手創建一個WordPress專用的數據庫,創建這個數據庫的命令行為

sudo mysql -uroot -p

這條命令中,-u后直接連接(無空格)用戶名,此處我們連接的是root用戶,所以為-uroot,而-p則是用戶密碼。而MySQL也會要求輸入用戶密碼和數據庫密碼。

20221118143051

20221118143056

登錄數據庫后,執行創建數據庫命令,創建一個名稱為wordpress數據庫

create database wordpress;

20221118143107

接著,輸入命令為WordPress數據庫進行權限設置(為防止輸入命令時全角和半角錯誤,可以直接復制該命令)。

GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY '這里為你的root數據庫密碼';

20221118143120

最后執行命令刷新一次。

flush privileges;

20221118143128

由于一直處于命令行模式操作,并不如圖形化操作直觀,為確定我們的步驟沒問題,我們可以輸入命令確認我們成功建立起了WordPress專用數據庫。

show databases;

20221118143134

如上圖所示,只要在反饋中出現了“WordPress”名稱的數據庫,就證明我們的設置步驟沒錯。
最后,我們在Ubuntu的瀏覽器的地址欄中輸入“localhost”(本機地址),就能打開我們熟悉的WordPress安裝頁面(如果瀏覽器沒有顯示WordPress安裝頁面,可以選擇以隱私界面打開localhost,就能正常顯示)。

20221118143140

剩下的步驟都是常規設置,如顯示語言、數據庫設置、WordPress用戶注冊等等。這里需要注意的,就是WordPress數據庫的設置,一定要和MySQL數據庫中設置Wordpress數據庫時所留的用戶名及密碼一致!(當然,當時我們設置的數據庫名稱就是wordpress)

20221118143147

20221118143152

完成這些設置后,我們就能正式進入WordPress的主界面了。

20221118143158

至此,我們對WordPress網站的運行環境設置已經完成,剩下的就是如何使用cpolar,將位于本地的網站與公共互聯網連接起來。而這部分內容,我們會在下一章節中,為大家詳細介紹。


3. 搭建網站:安裝相對URL插件

通過前面幾篇介紹中的范例,我們已經在Ubuntu系統中安裝了WordPress網站運行所需的環境,并進行了相關配置。接下來,我們就可以正式進入網站的編輯流程,并通過cpolar將其發布到公共互聯網上,接受互聯網訪客的訪問。現在,就讓我們開始吧。

要讓本地的網頁能為公共互聯網的用戶訪問到,必須有符合現行互聯網規范的地址,即URL。但WordPress本身并不自帶生成URL地址的功能,我們必須通過為WordPress安裝插件來實現這一功能。還是回到WordPress的主界面,在左側我們能找到插件選項,點開后在搜索框輸入relative URL,就能找到這款插件,接著點擊安裝啟用即可。

20221118143234

20221118143240

完成URL插件的安裝后,我們還需要對WordPress本身進行一項小修改,我們要教會WordPress正確應對外部訪問請求,因此我們要打開Ubuntu命令行界面,輸入命令,轉入站點根目錄

cd /var/www/html

轉入站點根目錄后,再輸入命令對WordPress的配置文件進行編輯。

nano wp-config.php

20221118143246

20221118143251

在WordPress編輯界面,我們要找到如下位置,輸入兩行命令,分別為:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

由于命令行對于標點符號有全角半角的要求,因此最好還是復制命令,避免輸入錯誤,導致WordPress運行錯誤。

20221118143257

20221118143303

確認命令輸入無誤后,就可以按快捷鍵Ctrl+X退出編輯,系統會詢問我們是否保存更改,我們輸入Y即可。

20221118143308

如果我們要返回WordPress的設置界面,只要在瀏覽器中輸入地址http://localhost/wp-admin,就能回到wordpress的儀表盤

20221118143314

而我們也能在這里,選擇自己喜歡的網站外觀,打造自己心儀的網站。

20221118143322

至此,我們在Ubuntu上搭建的網站就基本成型了。下一步,就是使用cpolar,將這個網站發布到公共互聯網上,讓更多人都能訪問到這個網站。這部分內容,我們將在下一章節中,為大家詳細說明。


4. 搭建網站:內網穿透發布網站

通過前面介紹中的操作,我們已經成功的在Linux系統中搭建起網頁運行所需的環境,并且通過WordPress成功制作了一個網頁。但此時的網頁還僅存在于本地電子設備上,想要將其發布到互聯網上,還需要通過cpolar建立的數據隧道才能實現。今天,我們就嘗試使用cpolar建立的數據隧道,讓本地網頁能夠為互聯網訪客所訪問的幾種方法。

在此之前,我們已經在本地電腦上安裝了cpolar,因此我們可以采用命令方式和圖形化操作兩種方式,建立起數據隧道。

4.1 命令行方式:

上面在本地成功部署了wordpress,并以本地127.0.0.1形式下訪問成功,下面我們在Linux安裝Cpolar內網穿透工具,通過Cpolar 轉發本地端口映射的http公網地址,我們可以很容易實現遠程訪問,而無需自己注冊域名購買云服務器.下面是安裝cpolar步驟

cpolar官網地址: https://www.cpolar.com

  • 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 安裝完成后,可以通過如下方式來操作cpolar服務,首先執行加入系統服務設置開機啟動,然后再啟動服務
# 加入系統服務設置開機啟動
sudo systemctl enable cpolar# 啟動cpolar服務
sudo systemctl start cpolar# 重啟cpolar服務
sudo systemctl restart cpolar# 查看cpolar服務狀態
sudo systemctl status cpolar# 停止cpolar服務
sudo systemctl stop cpolar

Cpolar安裝和成功啟動服務后,內部或外部瀏覽器上通過局域網IP或者本機IP加9200端口即:【http://192.168.xxx.xxx:9200】訪問Cpolar管理界面,使用Cpolar官網注冊的賬號登錄,登錄后即可看到cpolar web 配置界面,接下來在web 界面配置即可

image-20240603142647836

4.2. 配置wordpress公網地址

點擊左側儀表盤的隧道管理——創建隧道,創建一個wordpress的公網http地址隧道!

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
  • 協議:選擇http
  • 本地地址:80 (默認是80端口)
  • 域名類型:免費選擇隨機域名
  • 地區:選擇China vip

點擊創建

image-20240603142807481

隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網訪問地址,有兩種訪問方式,一種是http 和https,兩種都可以訪問,

image-20240603142938891

5. 固定WordPress公網地址

由于以上使用cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化【ps:cpolar.cn已備案】

注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。【cpolar.cn已備案】

登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱

image-20240603180627086

保留成功后復制保留成功的二級子域名的名稱

image-20240603180656510

返回登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯

image-20240603180737554

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名

點擊更新(注意,點擊一次更新即可,不需要重復提交)

image-20240603180818639

更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址二級名稱變成了我們自己設置的二級子域名名稱

image-20240603180857948

5.1. 固定地址訪問WordPress

最后,我們使用固定的公網http地址訪問,可以看到同樣訪問成功,這樣一個固定且永久不變的公網地址就設置好了,隨時隨地都可以遠程訪問我們的WordPress博客網站,無需公網IP,無需云服務器!

image-20240603181058208

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40586.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ChatGPT:為什么很多算法經過二分思想的優化就變成了logn

ChatGPT:為什么很多算法經過二分思想的優化就變成了logn 很多算法在經過二分思想優化后,時間復雜度變成 O(log?n),這主要是因為二分思想能夠顯著減少問題的規模。具體來說,二分思想通常應用于那些問題規模可以通過每一步驟減半的…

【LabVIEW學習篇 - 2】:LabVIEW的編程特點

文章目錄 LabVIEW的編程特點圖形編程天然并行運行基于數據流運行 LabVIEW的編程特點 圖形編程 LabVIEW使用圖形化的圖形化編程語言(G語言),用戶通過在程序框圖中拖放和連接各種節點(Nodes)來編寫程序。每個節點代表一…

什么是跨域?——詳解跨域問題及其解決方案

目錄 引言什么是跨域同源策略跨域的產生原因跨域的常見解決方案 JSONPCORS代理服務器nginx反向代理后端設置允許跨域 CORS的詳細實現 瀏覽器中的CORS支持服務器端的CORS配置 常見的跨域場景和解決方案 跨域請求API跨域加載資源 跨域的安全性考慮跨域調試技巧總結 引言 在現代…

python+playwright 學習-90 and_ 和 or_ 定位

前言 playwright 從v1.34 版本以后支持and_ 和 or_ 定位 XPath 中的and和or xpath 語法中我們常用的有text()、contains() 、ends_with()、starts_with() //*[text()="文本"] //*[contains(@id, "xx")] //

LLM - 循環神經網絡(RNN)

1. RNN的關鍵點:即在處理序列數據時會有順序的記憶。比如,RNN在處理一個字符串時,在對字母表順序有記憶的前提下,處理這個字符串會更容易。就像人一樣,讀取下面第一個字符串會更容易,因為人對字母出現的順序…

idea MarketPlace插件找不到

一、背景 好久沒用idea了,打開項目后沒有lombok,安裝lombok插件時發現idea MarketPlace插件市場找不到,需要重新配置代理源,在外網訪問時通過代理服務進行連接 二、操作 ### File-->setting 快捷鍵 Ctrl Alt S 遠端源地…

動手學深度學習(Pytorch版)代碼實踐 -循環神經網絡-53語言模型和數據集

53語言模型和數據集 1.自然語言統計 引入庫和讀取數據: import random import torch from d2l import torch as d2l import liliPytorch as lp import numpy as np import matplotlib.pyplot as plttokens lp.tokenize(lp.read_time_machine())一元語法&#xf…

類和對象深入理解

目錄 static成員概念靜態成員變量面試題補充代碼1代碼2代碼3如何訪問private中的成員變量 靜態成員函數靜態成員函數沒有this指針 特性 友元友元函數友元類 內部類特性1特性2 匿名對象拷貝對象時的一些編譯器優化 感謝各位大佬對我的支持,如果我的文章對你有用,歡迎點擊以下鏈接…

Linux-DNS

DNS域名解析服務 1.DNS介紹 DNS 是域名系統 (Domain Name System) 的縮寫,是因特網的一項核心服務,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。…

大氣熱力學(2)——熱力學基礎

本篇文章源自我在 2021 年暑假自學大氣物理相關知識時手寫的筆記,現轉化為電子版本以作存檔。相較于手寫筆記,電子版的部分內容有補充和修改。筆記內容大部分為公式的推導過程。 文章目錄 2.0 本文所用符號一覽2.1 準靜態過程2.2 熱量和熱容量2.2.1 熱量…

Java對象

面向對象和面向過程的區別 兩者的主要區別在于解決問題的方式不同 面向過程把解決問題的過程拆成一個個方法,通過一個個方法的執行解決問題。 面向對象會先抽象出對象,然后用對象執行方法的方式解決問題。 另外,面向對象開發的程序一般更易維…

乞丐傳武功

題目 你施舍給了路邊的乞丐兩個饅頭,誰料這個乞丐其實是隱士高人。為了回報你的善心,只見他緩緩從懷中掏出了數本武功秘籍,讓你從中挑選一本。你珍重地接過這些秘籍,目光掃過每本封面,降龍十八掌、神照經、易筋經、凌…

[FreeRTOS 基礎知識] 互斥量 概念

文章目錄 基礎知識互斥量互斥量與信號量區別優先級反轉優先級繼承小結 基礎知識 [FreeRTOS 基礎知識] 信號量 概念 互斥量 互斥量(Mutex,全稱:Mutual Exclusion),在計算機科學中,是一種用于防止多個進程同…

科研繪圖系列:R語言實驗結果組圖(linechart + barplot)

介紹 實驗結果的多樣性意味著每個結果都可能揭示研究的不同方面或角度。在科學研究和數據分析中,通常我們會收集一系列數據點,每個數據點都對應著實驗的一個特定變量或條件。為了全面理解這些數據,我們可能會采用多種可視化技術來展示它們。 將多個結果分別可視化,可以讓…

親子時光里的打臉高手,賈乃亮與甜馨的父愛如山

賈乃亮這波操作,簡直是“實力打臉”界的MVP啊! 7月5號,他一甩手,甩出張合照, 瞬間讓多少猜測紛飛的小伙伴直呼:“臉疼不?”帶著咱家小甜心甜馨, 回了哈爾濱老家,這趟親…

Nginx(http配置、https配置)訪問Spring Boot 項目

前文 記錄一下在linux服務器下配置nginx中nginx.conf文件代理訪問springboot項目 1. spring boot.yml配置 其他mysql,redis,mybatis等之類的配置就不一一列出了 # 自定義配置 為了等下驗證讀取的配置文件環境 appName: productserver:port: 8083 # 應用服務 WEB 訪問端口s…

SQL窗口函數詳解

詳細說明在sql中窗口函數是什么,為什么需要窗口函數,有普通的聚合函數了那窗口函數的意義在哪,窗口函數的執行邏輯是什么,over中的字句是如何使用和理解的(是不是句句戳到你的痛點,哼哼~&#x…

C語言編譯和編譯預處理

編譯預處理 ? 編譯是指把高級語言編寫的源程序翻譯成計算機可識別的二進制程序(目標程序)的過程,它由編譯程序完成。 ? 編譯預處理是指在編譯之前所作的處理工作,它由編譯預處理程序完成 在對一個源程序進行編譯時,…

全國青少年軟件編程等級考試-四級-奇偶之和(真題)

題目:奇偶之和 1.準備工作 (1)保留舞臺中的小貓角色; 2.功能實現 (1)分別計算1~100中,奇數之和,偶數之和; (2)說出奇數之和,偶數之和。 講解: 1、如何判斷奇偶數 奇數是指除以2有…

C++deque容器

文章目錄 deque容器概念deque操作deque對象的帶參數構造deque頭部和末尾的添加移除操作deque的數據存取deque與迭代器deque賦值deque插入deque刪除 deque容器概念 deque是雙端數組,而vector是單端的。 ?deque頭部和尾部添加或移除元素都非常快速, 但是在中部安插元…