人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

WordPress網(wǎng)站遷移到新主機(jī)防火墻配置

發(fā)布日期:2022-07-15 19:05 | 文章來(lái)源:gibhub

使用這個(gè)簡(jiǎn)單的方法來(lái)遷移一個(gè)網(wǎng)站以及管理防火墻配置。

你有過(guò)把一個(gè) WordPress 網(wǎng)站遷移到一臺(tái)新主機(jī)上的需求嗎?我曾經(jīng)遷移過(guò)好多次,遷移過(guò)程相當(dāng)簡(jiǎn)單。當(dāng)然,的的市場(chǎng)時(shí)候我都不會(huì)用通用的推薦方法,這次也不例外 —— 我用更簡(jiǎn)單的方法,這才是我推薦的方法。

這個(gè)遷移方法沒(méi)有破壞性,因此如果出于某些原因你需要還原到原來(lái)的服務(wù)器上,很容易可以實(shí)現(xiàn)。

一個(gè) WordPress 網(wǎng)站的組成部分

運(yùn)行一個(gè)基于WordPress的網(wǎng)站有三個(gè)重要組成部分:WordPress 本身,一個(gè) web 服務(wù)器,如Apache(我正在用),以及MariaDB。MariaDB 是 MySQL 的一個(gè)分支,功能相似。

業(yè)界有大量的 Web 服務(wù)器,由于我使用了 Apache 很長(zhǎng)時(shí)間,因此我推薦用 Apache。你可能需要把 Apache 的配置方法改成你用的 Web 服務(wù)器的方法。

初始配置

我使用一臺(tái) Linux 主機(jī)作為防火墻和網(wǎng)絡(luò)路由。在我的網(wǎng)絡(luò)中 Web 服務(wù)器是另一臺(tái)主機(jī)。我的內(nèi)部網(wǎng)絡(luò)使用的是 C 類(lèi)私有網(wǎng)絡(luò)地址范圍,按無(wú)類(lèi)別域間路由Classless Internet Domain Routing(CIDR)方式簡(jiǎn)單地記作 192.168.0.0/24。

對(duì)于防火墻,相比于更復(fù)雜的firewalld,我更喜歡用非常簡(jiǎn)單的IPTables。這份防火墻配置中的一行會(huì)把 80 端口(HTTP)接收到的包發(fā)送給 Web 服務(wù)器。在/etc/sysconfig/iptables文件中,你可以在注釋中看到,我添加了規(guī)則,把其他入站服務(wù)器連接轉(zhuǎn)發(fā)到同一臺(tái)服務(wù)器上合適的端口。

# Reroute ports for inbound connections to the appropriate web/email/etc server.
# HTTPD goes to 192.168.0.75
-A PREROUTING -d 45.20.209.41/255.255.255.248 -p tcp -m tcp --dport 80 \
  -j DNAT --to-destination 192.168.0.75:80

我使用命名虛擬主機(jī)named virtual host來(lái)配置原來(lái)的 Apache Web 服務(wù)器,因?yàn)槲以谶@個(gè) HTTPD 實(shí)例上運(yùn)行著多個(gè)網(wǎng)站。使用命名虛擬主機(jī)配置是個(gè)不錯(cuò)的方法,因?yàn)椋ㄏ裎乙粯樱┪磥?lái)你可能會(huì)在運(yùn)行其他的網(wǎng)站,這個(gè)方法可以使其變得容易。

/etc/httpd/conf/httpd.conf中需要遷移的虛擬主機(jī)的網(wǎng)站相關(guān)部分請(qǐng)參考下面代碼。這個(gè)片段中不涉及到 IP 地址的修改,因此在新服務(wù)器上使用時(shí)不需要修改。

<VirtualHost *:80>
   ServerName www.website1.org
   ServerAlias server.org
DocumentRoot "/var/website1/html"
   ErrorLog "logs/error_log"
   ServerAdmin me@website1.org
<Directory "/var/website1/html">
      Options Indexes FollowSymLinks
AllowOverride None
      Require all granted
</Directory>
</VirtualHost>

在遷移之前,你需要在httpd.conf的最頂端附近找到Listen聲明并修改成類(lèi)似下面這樣。這個(gè)地址是服務(wù)器的真實(shí)私有 IP 地址,不是公開(kāi) IP 地址。

Listen 192.168.0.75:80

你需要修改新主機(jī)上Listen的 IP 地址。

前期工作

準(zhǔn)備工作分為以下三步:

  • 安裝服務(wù)
  • 配置防火墻
  • 配置 web 服務(wù)器

安裝 Apache 和 MariaDB

如果你的新服務(wù)器上還沒(méi)有 Apache 和 MariaDB,那么就安裝它們。WordPress 的安裝不是必要的。

dnf -y install httpd mariadb

新服務(wù)器防火墻配置

確認(rèn)下新服務(wù)器上的防火墻允許訪問(wèn) 80 端口。你_每臺(tái)_電腦上都有一個(gè)防火墻,對(duì)嗎?大部分現(xiàn)代發(fā)行版使用的初始化配置包含的防火墻會(huì)阻止所有進(jìn)來(lái)的網(wǎng)絡(luò)流量,以此來(lái)提高安全等級(jí)。

下面片段的第一行內(nèi)容可能已經(jīng)在你的 IPTables 或其他基于防火墻的網(wǎng)絡(luò)過(guò)濾器中存在了。它標(biāo)識(shí)已經(jīng)被識(shí)別為來(lái)自可接受來(lái)源的入站包,并繞過(guò)后面的其它 INPUT 過(guò)濾規(guī)則,這樣可以節(jié)省時(shí)間和 CPU 周期。片段中最后一行標(biāo)識(shí)并放行 80 端口新進(jìn)來(lái)的請(qǐng)求到 HTTPD 的連接。

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
<刪節(jié)>
# HTTP
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

下面的示例/etc/sysconfig/iptables文件是 IPTables 最少規(guī)則的例子,可以允許 SSH(端口 22)和 HTTPD(端口 80)連接。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# SSHD
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
# HTTP
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# Final disposition for unmatched packets
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

在新服務(wù)器主機(jī)上我需要做的就是在/etc/sysconfig/iptables文件的防火墻規(guī)則里添加上面片段的最后一行,然后重新加載修改后的規(guī)則集。

iptables-restore /etc/sysconfig/iptables

大部分基于紅帽的發(fā)行版本,如 Fedora,使用的是firewalld。我發(fā)現(xiàn)對(duì)于它的適用場(chǎng)景(如家用、小到中型企業(yè))而言,它過(guò)于復(fù)雜,因此我不用它。我建議你參照f(shuō)irewalld 網(wǎng)頁(yè)來(lái)向firewalld添加入站端口 80。

你的防火墻及其配置可能跟這個(gè)有些差異,但最終的目的是允許新 Web 服務(wù)器 80 端口接收 HTTPD 連接。

HTTPD 配置

/etc/httpd/conf/httpd.conf文件中配置 HTTPD。像下面一樣在Listen片段中設(shè)置 IP 地址。我的新 Web 服務(wù)器 IP 地址是192.168.0.125。

Listen 192.168.0.125:80

復(fù)制(對(duì)應(yīng)要遷移的網(wǎng)站的)VirtualHost片段,粘貼到新服務(wù)器上httpd.conf文件的末尾。

遷移過(guò)程

只有兩組數(shù)據(jù)需要遷移到新服務(wù)器 —— 數(shù)據(jù)庫(kù)本身和網(wǎng)站目錄結(jié)構(gòu)。把兩個(gè)目錄打包成tar文檔。

cd /var ; tar -cvf /tmp/website.tar website1/
cd /var/lib ; tar -cvf /tmp/database.tar mysql/

把兩個(gè) tar 文件復(fù)制到新服務(wù)器。我通常會(huì)把這類(lèi)文件放到/tmp下,這個(gè)目錄就是用來(lái)做這種事的。在新服務(wù)器上運(yùn)行下面的命令,把 tar 文檔解壓到正確的目錄。

cd /var ; tar -xvf /tmp/website.tar
cd /var/lib ; tar -xvf /tmp/database.tar

WordPress 的所有文件都在/var/website1下,因此不需要在新服務(wù)器上安裝它。新服務(wù)器上不需要執(zhí)行 WordPress 安裝過(guò)程。

這個(gè)目錄就是需要遷移到新服務(wù)器上的全部?jī)?nèi)容。

最后一步是啟動(dòng)(或重啟)mysqldhttpd服務(wù)守護(hù)進(jìn)程。WrodPress 不是一個(gè)服務(wù),因此不使用守護(hù)進(jìn)程的方式來(lái)啟動(dòng)。

systemctl start mysqld ; systemctl start httpd

啟動(dòng)之后,你應(yīng)該檢查下這些服務(wù)的狀態(tài)。

systemctl status mysqld
● mariadb.service - MariaDB 10.5 database server
    Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
    Active: active (running) since Sat 2021-08-21 14:03:44 EDT; 4 days ago
        Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
   Process: 251783 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited, status=0/SUCCESS)
   Process: 251805 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
   Process: 251856 ExecStartPost=/usr/libexec/mariadb-check-upgrade (code=exited, status=0/SUCCESS)
 Main PID: 251841 (mariadbd)
      Status: "Taking your SQL requests now..."
      Tasks: 15 (limit: 19003)
    Memory: 131.8M
        CPU: 1min 31.793s
    CGroup: /system.slice/mariadb.service
└─251841 /usr/libexec/mariadbd --basedir=/usr
Aug 21 14:03:43 simba.stmarks-ral.org systemd[1]: Starting MariaDB 10.5 database server...
Aug 21 14:03:43 simba.stmarks-ral.org mariadb-prepare-db-dir[251805]: Database MariaDB is probably initialized in /var/lib/mysql already, n>
Aug 21 14:03:43 simba.stmarks-ral.org mariadb-prepare-db-dir[251805]: If this is not the case, make sure the /var/lib/mysql is empty before>
Aug 21 14:03:44 simba.stmarks-ral.org mariadbd[251841]: 2021-08-21 14:03:44 0 [Note] /usr/libexec/mariadbd (mysqld 10.5.11-MariaDB) startin>
Aug 21 14:03:44 simba.stmarks-ral.org systemd[1]: Started MariaDB 10.5 database server.
systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
      Active: active (running) since Sat 2021-08-21 14:08:39 EDT; 4 days ago
        Docs: man:httpd.service(8)
   Main PID: 252458 (httpd)
      Status: "Total requests: 10340; Idle/Busy workers 100/0;Requests/sec: 0.0294; Bytes served/sec: 616 B/sec"
        Tasks: 278 (limit: 19003)
      Memory: 44.7M
        CPU: 2min 31.603s
   CGroup: /system.slice/httpd.service
├─252458 /usr/sbin/httpd -DFOREGROUND
├─252459 /usr/sbin/httpd -DFOREGROUND
├─252460 /usr/sbin/httpd -DFOREGROUND
├─252461 /usr/sbin/httpd -DFOREGROUND
├─252462 /usr/sbin/httpd -DFOREGROUND
└─252676 /usr/sbin/httpd -DFOREGROUND
Aug 21 14:08:39 simba.stmarks-ral.org systemd[1]: Starting The Apache HTTP Server...
Aug 21 14:08:39 simba.stmarks-ral.org httpd[252458]: AH00112: Warning: DocumentRoot [/var/teststmarks-ral/html] does not exist
Aug 21 14:08:39 simba.stmarks-ral.org httpd[252458]: Server configured, listening on: port 80
Aug 21 14:08:39 simba.stmarks-ral.org systemd[1]: Started The Apache HTTP Server.

最終的修改

現(xiàn)在所需的服務(wù)都已經(jīng)運(yùn)行了,你可以把/etc/sysconfig/iptables文件中 HTTDP 的防火墻規(guī)則改成下面的樣子:

-A PREROUTING -d 45.20.209.41/255.255.255.248 -p tcp -m tcp --dport 80 \
  -j DNAT --to-destination 192.168.0.125:80

然后重新加載設(shè)置的 IPTables 規(guī)則。

iptables-restore /etc/sysconfig/iptables

由于防火墻規(guī)則是在防火墻主機(jī)上,因此不需要把外部 DNS 入口改成指向新服務(wù)器。如果你使用的是內(nèi)部 DNS 服務(wù)器,那么你需要把 IP 地址改成內(nèi)部 DNS 數(shù)據(jù)庫(kù)里的 A 記錄。如果你沒(méi)有用內(nèi)部 DNS 服務(wù)器,那么請(qǐng)確保主機(jī)/etc/hosts文件里新服務(wù)器地址設(shè)置得沒(méi)有問(wèn)題。

測(cè)試和清理

請(qǐng)確保對(duì)新配置進(jìn)行測(cè)試。首先,停止舊服務(wù)器上的mysqldhttpd服務(wù)。然后通過(guò)瀏覽器訪問(wèn)網(wǎng)站。如果一切符合預(yù)期,那么你可以關(guān)掉舊服務(wù)器上的mysqldhttpd。如果有失敗,你可以把 IPTables 的路由規(guī)則改回去到舊服務(wù)器上,直到問(wèn)題解決。

之后我把 MySQL 和 HTTPD 從舊服務(wù)器上刪除了,這樣來(lái)確保它們不會(huì)意外地被啟動(dòng)。

總結(jié)

就是這么簡(jiǎn)單。不需要執(zhí)行數(shù)據(jù)庫(kù)導(dǎo)出和導(dǎo)入的過(guò)程,因?yàn)?code>mysql目錄下所有需要的東西都已經(jīng)復(fù)制過(guò)去了。需要執(zhí)行導(dǎo)出/導(dǎo)入過(guò)程的場(chǎng)景是:有網(wǎng)站自己的數(shù)據(jù)庫(kù)之外的數(shù)據(jù)庫(kù);MariaDB 實(shí)例上還有其他網(wǎng)站,而你不想把這些網(wǎng)站復(fù)制到新服務(wù)器上。

遷移舊服務(wù)器上的其他網(wǎng)站也很容易。其他網(wǎng)站依賴(lài)的所有數(shù)據(jù)庫(kù)都已經(jīng)隨著 MariaDB 的遷移被轉(zhuǎn)移到了新服務(wù)器上。你只需要把/var/website目錄遷移到新服務(wù)器,添加合適的虛擬主機(jī)片段,然后重啟 HTTPD。

我遵循這個(gè)過(guò)程把很多個(gè)網(wǎng)站從一個(gè)服務(wù)器遷移到另一個(gè)服務(wù)器,每次都沒(méi)有問(wèn)題。

via:https://opensource.com/article/21/9/migrate-wordpress

以上就是 WordPress網(wǎng)站遷移到新主機(jī)防火墻配置的詳細(xì)內(nèi)容,更多關(guān)于 WordPress網(wǎng)站遷移防火墻配置的資料請(qǐng)關(guān)注本站其它相關(guān)文章!

香港服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶(hù)服務(wù)

7x24全年不間斷在線

專(zhuān)屬顧問(wèn)服務(wù)

1對(duì)1客戶(hù)咨詢(xún)顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部