Please enable Javascript to view the contents

VPS 自建 wordpress

 ·  ☕ 2 分钟  ·  ✍️ CheeseMocha

有了vps,域名,静态个人博客,还是需要一个自己的小空间,想来想去,继续折腾 wordpress

本期的问题和用到的工具:

  1. 多域名绑定主机
  2. wordpress 技术背景: xampp + nginx
  3. VPS + 多个域名 + ssl 证书

下载 xampp

1
wget https://downloadsapachefriends.global.ssl.fastly.net/8.1.6/xampp-linux-x64-8.1.6-0-installer.run

下载后在linux 下面直接运行安装

安装完成后,根据提示写入相关的security的密码,涉及到mysql,phpadmin 的密码,有外网访问的最好设置下。

1
/opt/lampp/lampp security

启动xampp, 之需要apache和mysql 是running 的就ok,不用管ftp

1
 /opt/lampp/xampp restart

下载 wordpress

1
 wget https://cn.wordpress.org/latest-zh_CN.zip

下载后找地方解压 unzip 这个文件
然后把wordpress放到下面(包含文件夹)

1
/opt/lampp/htdocs/ 

可以启动lampp的xampp,然后根据域名配置wordpress 了
PS:提前创建好数据库,不然可能出现wordpress 账号无法访问到mysql 数据库的情况。
给与wp 账号数据库管理权限就可以了,不用所有权限都给

wordpress nginx 多域名配置

域名A: domain A 的设置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  domaina.com;
     
        root        /opt/public;

        ssl_certificate "/etc/nginx/cert/domaina.com_bundle.crt";
        ssl_certificate_key "/etc/nginx/2022/domaina.com.key";
       ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

域名 B domain B 的设置
PS:因为用到了本地的跳转local apache ,所以在域名b里面设置了本地跳转,管理页面就得地址做个跳转。
sub_filter '/wordpress/' '/'; 这一条保证后台控制地址不会出现wordpress,省去了改wordpress 里面的文件了。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

 server {
        listen       443 ssl http2 ;
        listen       [::]:443 ssl http2 ;
        server_name  domainb.com;
       
        ssl_certificate "/etc/nginx/cert/domainb.com_bundle.crt";
        ssl_certificate_key "/etc/nginx/cert/domainb.com.key";

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        client_max_body_size 1000m;

 
        include /etc/nginx/default.d/*.conf;
        default_type text/html;


        location / {
             
             proxy_redirect off;
             proxy_pass http://domainb:81/wordpress/;
             proxy_set_header x-forwarded-for $remote_addr;
             proxy_set_header Host $host:443;
             proxy_set_header referer $ref;
             sub_filter '/wordpress/' '/';
             #return  200 $host;
        }

wordpress 里面的config 配置

wordpress 后台数据库有几个地方要改下,一个是 wp_option 里面的主机名和域名,因为我都改成了domainb
所以这里直接留下了域名的443 地址了

另外一个就是 wp-config.php 里面的,我加了两行, 感觉用处也不大。

1
2
3
4
/* Add any custom values between this line and the "stop editing" line. */

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

主要就是数据库,还有这个配置改下,多域名的问题解决起来比较麻烦
但是nginx 的修改过滤 加上wordpress 本身的修改组合就非常方便了。

最后加一个,如果ftp需要配置,因为是vps,本身不需要开ftp,只要把wordpress 的文件夹权限给xampp就行了
如下操作就可以安装插件修改皮肤了。

1
 chown -R daemon:daemon wordpress/
分享

cheesemocha