網站搬家

用了兩年Hostodo,5月底收到郵件說要升級機房,將會提供更好的服務,盡量平滑升級不導致停機。升級後IP將會發生變化,如果想保留老IP可以來發ticket。實際情況是VPS忽然就關閉了,並且通過後台無法啟動。發ticket問IP的事情,得到的答覆是不能在不收費的情況下幫客戶保留舊IP。VPS一關就是2天,沒有任何辦法。第三天網站服務上了,說明VPS啟動了,但是中國並不能訪問,客服回復說不是被ban,是他們網絡還沒調好。然後又收到郵件說新的網頁後台可以看到新IP。打開之後登錄提示密碼錯,嘗試找回密碼提示郵箱不存在。這就這麼折騰着……

好在花落無聲兄弟再次慷慨相助,提供了Vesta空間給我寄存網站。由於原來也是用Vesta面板,搬家過程非常順利。而且新版Vesta面板集成了LetsEncrypt,一鍵即可獲得SSL證書方便的很。新服在香港,速度也有提升。遇到一點小問題是,搬過來後,中文url亂碼,只需要重新設置文字鏈接類型,再選回文章名格式就好了,不需要改動wordpress文件。


Cyber Panel搬回裸lnmp

Cyber Panel的備份功能可以方便的把網站和數據庫打包下載,自己傳到新服務器即可。

#導入數據庫
mysql -u root -p
CREATE DATABASE DB_Name;
GRANT ALL ON DB_Name.* TO 'user42'@'%';
flush privileges;
exit;
mysql -u user42 -p DB_Name < data-dump.sql
#如果遇到utf8mb4_unicode_520_ci未知編碼,只需將其替換成utf8mb4_unicode_ci
nano data-dump.sql
按Ctrl + \
輸入舊詞utf8mb4_unicode_520_ci並回車
輸入新詞utf8mb4_unicode_ci並回車
按a替換全部
按Ctrl + o保存文件
#Cyber Panel的備份文件中沒有打包ssl證書
#將dns指向新服務器後獲取新證書
#測試獲取證書
certbot -d ft.wupo.info --nginx certonly --dry-run
#正式獲取證書
certbot -d ft.wupo.info --nginx certonly
#nginx wordpress 配置
    server {
        listen      443 ssl;
        listen      [::]:443;
        server_name ft.wupo.info ;
        root        /usr/share/nginx/html/ft.wupo.info;
        index       index.php index.html index.htm;

        ssl         on;
        ssl_certificate      /etc/letsencrypt/live/ft.wupo.info/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/ft.wupo.info/privkey.pem;


        location ~ \.php$ {
    	    fastcgi_pass   127.0.0.1:9000;
    	    fastcgi_index  index.php;
    	    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    	    include        fastcgi_params;
	}
        location / {
                try_files $uri $uri/ /index.php?$args;
        }
    }

	server {
		listen 80;
		server_name ft.wupo.info;
		return 301 https://$server_name$request_uri;
	}
#wordpress更新主題或插件提示ftp賬戶
#一般是權限問題,我的php-fpm是nginx用戶,所以
chmod -R nginx:nginx /usr/share/nginx/html/ft.wupo.info/wp-content
chmod -R nginx:nginx /usr/share/nginx/html/ft.wupo.info/wp-includes
#然後在wp-config.php追加一句
define('FS_METHOD', 'direct');

你的電子郵件位址並不會被公開。 必要欄位標記為 *