GG資源網

Docker系列 WordPress系列 WordPress目錄結構(使用 docker 搭建 wordpress的操作)

Docker系列 WordPress系列 WordPress目錄結構

前言

經過《Docker系列 WordPress系列 安裝WP Githuber MD》、《Docker系列 WordPress系列 WordPress上傳或更新Markdown的最佳實踐》等地方的學習,我們已經掌握了博客寫作的一些提高效率的技巧。相信你這個時候已經迫不及待地想要更進一步——搞一個漂亮的WordPress主題!

是的,我其實也很想講WordPress主題了,畢竟那是建站最有趣的部分!不過在此之前,我覺得有一些東西你需要了解一下,那就是WordPress的目錄結構

通過Shell,我們可以在一定程度上洞察WordPress是如何工作的。而且你可能會發現,它在本質上和Nextcloud、Chevereto這些應用的目錄是十分相似的。這可能是由於它們都是基於PHP的吧!

下面我們快速地了解一些相關知識。GO!

WordPress目錄

我們可以回看《Docker系列 WordPress系列 搭建WordPress個人博客》,看看它的yml文件的內容:

app:
image: wordpress:latest
restart: unless-stopped
ports:
- 4145:80 # 按需修改。與防火牆開放埠一致。
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: yourpassword # 按需修改
volumes:
- './app:/var/www/html'
links:
- db:db
networks:
- default

我們可以看到,在用Docker搭建的時候,我們將/var/www/html目錄掛載到了.app里。所以我們就進去裡面看一下。

設置一下全局路徑:

html=~/docker/wordpress/app && cd $html

我們可以看一下一層目錄:

tree -L 1

輸出為:

├── index.php
├── license.txt
├── readme.html
├── wp-activate.php
├── wp-admin # 這是個文件夾
├── wp-blog-header.php
├── wp-comments-post.php
├── wp-config-docker.php
├── wp-config.php
├── wp-config-sample.php
├── wp-content # 這是個文件夾
├── wp-cron.php
├── wp-includes # 這是個文件夾
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php

下面我們選一些比較重要的文件進行說明。

wp-config文件

這是一個很重要的文件,可以更改一些默認設置。甚至和安全問題有關。

├── wp-config.php
├── wp-config-sample.php

wp-config-sample.php是一個示例文件,你可以在裡面看到一些示例。實際生效的是wp-config.php。這個文件里有一些我曾經接觸過的比較重要的項目。比如:

WP_DEBUG

define("WP_DEBUG", false);
define("WP_DEBUG_LOG", false);

如果這兩項設置為true的話,這個日誌可能會向公眾發布你的網站信息。一般只有在網站調試的時候才可能用到。如果你用Wordfence的話,這一項會被定義為高危。

WP_HOME/WP_SITEURL

另外還有一個,就是可以強行設置默認站點URL:

define('WP_HOME','http://localip:port');
define('WP_SITEURL','https://exampledomain.com');

我以前在無443埠的機器上需要用到這一項;在VPS里則不需要。

Proxy

// *配置HTTP代理伺服器* //
define('WP_PROXY_HOST', '192.168.1.150');
define('WP_PROXY_PORT', '7890');
define('WP_PROXY_USERNAME', '');
define('WP_PROXY_PASSWORD', '');
define('WP_PROXY_BYPASS_HOSTS', 'localhost');

我是在網上偶然發現的,自己沒有試過。也沒搞懂它的應用場景。有大佬知道的不?

ALLOW_UNFILTERED_UPLOADS

如果設置:

define( 'ALLOW_UNFILTERED_UPLOADS', true);

你就可以在媒體庫上傳各種格式的文件。

xmlrpc.php文件

這個文件你平時是不會直接操作它的。不過,它卻是很多自動同步(包括我們之前用到的m2w)可以成功的核心文件。

wp-content目錄

total 24K
-rw-r--r-- 1 www-data www-data 28 Jan 9 2012 index.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 27 09:17 languages
drwxr-xr-x 4 www-data www-data 4.0K Apr 27 10:44 plugins
drwxr-xr-x 6 www-data www-data 4.0K Apr 27 09:17 themes
drwxr-xr-x 2 www-data www-data 4.0K Apr 27 10:44 upgrade
drwxr-xr-x 3 www-data www-data 4.0K Apr 27 09:16 uploads

uploads文件夾存放的是你平時在多媒體里上傳的圖片。

themes是你所下載的主題所存放的位置。

plugins是你所下載的插件的位置

我正在運行的博客,這個目錄下是這樣的:

total 52K
-rw-r--r-- 1 www-data www-data 1.2K Apr 21 14:01 advanced-cache.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 27 14:17 cache
-rw-r--r-- 1 www-data www-data 28 Jan 8 2012 index.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 10 06:13 languages
drwxr-xr-x 19 www-data www-data 4.0K Apr 26 11:36 plugins
drwxr-xr-x 7 www-data www-data 4.0K Apr 12 16:39 themes
drwxr-xr-x 2 www-data www-data 4.0K Apr 26 11:36 upgrade
drwxr-xr-x 4 www-data www-data 12K Apr 26 13:33 uploads
drwxr-xr-x 2 www-data www-data 4.0K Apr 16 05:58 w3tc-config
drwxr-xr-x 2 www-data www-data 4.0K Apr 27 13:41 wflogs
-rw------- 1 www-data www-data 3.6K Apr 27 03:33 wp-cache-config.php

內容多了好多。這主要是有一些插件會在這個文件平里託管它們的源文件。

一個典型的theme

這裡我以argon主題為例,它的文件還挺多的:

total 1000K
-rw-r--r-- 1 www-data www-data 4.8K Apr 11 08:13 404.php
-rw-r--r-- 1 www-data www-data 17K Apr 11 08:13 admin.css
-rw-r--r-- 1 www-data www-data 1.1K Apr 11 08:13 archive.php
-rw-r--r-- 1 www-data www-data 86K Apr 11 08:13 argontheme.js
drwxr-xr-x 8 www-data www-data 4.0K Apr 11 08:13 assets
-rw-r--r-- 1 www-data www-data 13K Apr 11 08:13 comments.php
-rw-r--r-- 1 www-data www-data 416 Apr 11 08:13 comments-shuoshuo-preview.php
-rw-r--r-- 1 www-data www-data 7.3K Apr 11 08:13 emotions.php
-rw-r--r-- 1 www-data www-data 7.3K Apr 17 06:32 footer.php
-rw-r--r-- 1 www-data www-data 111K Apr 18 16:21 functions.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 11 08:13 gutenberg
-rw-r--r-- 1 www-data www-data 26K Apr 11 08:13 header.php
-rw-r--r-- 1 www-data www-data 675 Apr 11 08:13 index.php
-rw-r--r-- 1 www-data www-data 194 Apr 11 08:13 info.json
drwxr-xr-x 2 www-data www-data 4.0K Apr 11 08:13 languages
-rw-r--r-- 1 www-data www-data 35K Apr 11 08:13 LICENSE
-rw-r--r-- 1 www-data www-data 3.4K Apr 11 08:13 login.css
-rw-r--r-- 1 www-data www-data 1.2K Apr 11 08:13 msgboard.php
-rw-r--r-- 1 www-data www-data 533 Apr 11 08:13 page.php
-rw-r--r-- 1 www-data www-data 51K Apr 11 08:13 parsedown.php
-rw-r--r-- 1 www-data www-data 4.8K Apr 11 08:13 README_en.md
-rw-r--r-- 1 www-data www-data 28K Apr 11 08:13 README.md
-rw-r--r-- 1 www-data www-data 6.6K Apr 11 08:13 README_ru.md
-rw-r--r-- 1 www-data www-data 4.7K Apr 11 08:13 README_tw.md
-rw-r--r-- 1 www-data www-data 113K Apr 11 08:13 screenshot.png
-rw-r--r-- 1 www-data www-data 687 Apr 11 08:13 searchform.php
-rw-r--r-- 1 www-data www-data 2.7K Apr 11 08:13 search.php
-rw-r--r-- 1 www-data www-data 152K Apr 11 08:13 settings.php
-rw-r--r-- 1 www-data www-data 1.2K Apr 11 08:13 shuoshuo.php
-rw-r--r-- 1 www-data www-data 14K Apr 12 02:36 sidebar.php
-rw-r--r-- 1 www-data www-data 4.0K Apr 11 08:13 single.php
-rw-r--r-- 1 www-data www-data 544 Apr 11 08:13 single-shuoshuo.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 11 08:13 stickers
-rw-r--r-- 1 www-data www-data 146K Apr 12 03:28 style.css
drwxr-xr-x 2 www-data www-data 4.0K Apr 11 08:13 template-parts
drwxr-xr-x 8 www-data www-data 4.0K Apr 11 08:13 theme-update-checker
-rw-r--r-- 1 www-data www-data 594 Apr 11 08:13 timeline.php
-rw-r--r-- 1 www-data www-data 3.3K Apr 11 08:13 unsubscribe-comment-mailnotice.php
-rw-r--r-- 1 www-data www-data 59K Apr 11 08:13 useragent-parser.php

其中footer.php、functions.php文件經常可以被魔改,以實現一些特效,比如本博客的頁面雪花、點擊特效、看板娘(就是那個貓貓)。

小結

這一部份不是很重要,大家了解一下即可。和這部分相關的內容,在以後的具體實現時會再提起。暫時就這樣!

更多WordPress配置持續關注吧!

使用 docker 搭建 wordpress的操作

這不是一篇正規搭建 wordpress 的文章,是基於上一篇的基礎之上,進行的實現。最終的實現是使用 nginx 做代理,獨立的 wordpress 容器,連接 laradock 的 MySQL 做存儲。

修改 nginx 代理

相較於 laradock 的配置,只是修改監聽的域名以及轉發的埠。在 /etc/nginx/conf.d/ 目錄下新建 wordpress.conf 文件,如下

server {

listen  80;

server_name  blog.you_site.com;

location / {

proxy_set_header  Host  $http_host;

proxy_set_header  X-Real-IP  $remote_addr;

proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass  http://[宿主機IP]:8001;

}

}

修改之後記得重啟

搭建 wordpress 容器

1.拉取鏡像 docker pull wordpress

2.因為 wordpress 要連接 MySQL 容器,正好 laradock 就有,就用這個好了。連接的方式不用 --link,用 --network,可以參考這裡

3.laradock 中 MySQL 的 network 在 docker-compose.yml 文件中有寫,如下

使用 docker 搭建 wordpress的操作 (https://www.wpmee.com/) WordPress使用教程 第1張

同時使用 docker network ls 查看,可以看到 laradock_backend 這個網路。顯而易見使用 laradock_backend 就可以

1.搭建容器 docker run -d --name wordpress -p 8001:80 --network laradock_backend wordpress

2.最後一步,開啟伺服器(宿主機)8001埠

結語

打開網址,出現了配置界面。將 Database Host 設置為 mysql 就可以。其他的數據表、用戶等不在討論範圍之內。

以上就是使用 docker 搭建 wordpress的詳細內容,更多請關注網站的其它相關文章

由於網站搬家,部分鏈接失效,如無法下載,請聯繫站長!謝謝支持!
1. 帶 [親測] 說明源碼已經被站長親測過!
2. 下載後的源碼請在24小時內刪除,僅供學慣用途!
3. 分享目的僅供大家學習和交流,請不要用於商業用途!
4. 本站資源售價只是贊助,收取費用僅維持本站的日常運營所需!
5. 本站所有資源來源於站長上傳和網路,如有侵權請郵件聯繫站長!
6. 沒帶 [親測] 代表站長時間緊促,站長會保持每天更新 [親測] 源碼 !
7. 盜版ripro用戶購買ripro美化無擔保,若設置不成功/不生效我們不支持退款!
8. 本站提供的源碼、模板、插件等等其他資源,都不包含技術服務請大家諒解!
9. 如果你也有好源碼或者教程,可以到審核區發布,分享有金幣獎勵和額外收入!
10.如果您購買了某個產品,而我們還沒來得及更新,請聯繫站長或留言催更,謝謝理解 !
GG資源網 » Docker系列 WordPress系列 WordPress目錄結構(使用 docker 搭建 wordpress的操作)

發表回復

CAPTCHAis initialing...