1.docker run –name wordpress -p 80:80 -v /home/wordpress:/var/www/html -dit wordpress
2.启动后web访问内网服务器8080端口完成配置
3.登录后台 设置->常规->WordPress地址(URL)&站点地址(URL)配置自己的https域名
将内网端口穿透到云服务器对应端口后
云服务器nginx配置:
upstream wp {
server 127.0.0.1:8080 ;
}
server {
listen 80;
server_name wp.demo.com;
# 重定向到 https 站点
rewrite ^(.*)$ https://$host$request_uri;
}
## Normal HTTP host
server {
listen 443 ssl;
server_name wp.demo.com; ## 修改成自己的域名
ssl_certificate /etc/nginx/cert/wp.demo.com.pem;
ssl_certificate_key /etc/nginx/cert/wp.demo.com.key;
# 配置服务器可使用的加密算法
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
# 指定服务器密码算法在优先于客户端密码算法时,使用 SSLv3 和 TLS 协议
ssl_prefer_server_ciphers on;
# ssl 版本 可用 SSLv2,SSLv3,TLSv1,TLSv1.1,TLSv1.2
# ie6 只支持 SSLv2,SSLv3 但是存在安全问题, 故不支持
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
## See app/controllers/application_controller.rb for headers set
## Individual nginx logs for this GitLab vhost
access_log /var/log/nginx/access.log; # 根据实际情况修改
error_log /var/log/nginx/error.log; # 根据实际情况修改
location / {
root html;
index index.php index.html index.htm;
proxy_redirect off; # 禁止跳转
proxy_set_header Host $host; # 域名转发
proxy_set_header X-Real-IP $remote_addr; # IP转发
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://wp;
}
}
PS:ios手机可以在App Store中下载 WordPress/jetpack应用软件进行关联管理
QA:
1.当您的一个WordPress网站配置Https后,登录WordPress管理后台出现“抱歉,您不能访问此页面” 或者 “将您重定向的次数过多”的问题时,可以使用此供方法快速解决。
在你的网站根目录下,找到 wp-config.php 文件,并加入以下代码:
$_SERVER['HTTPS'] = 'ON';
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define( 'CONCATENATE_SCRIPTS', false );
关键说明:以上代码添加时,必须添加在if ( !defined(‘ABSPATH’) ) 代码之前才能生效!
2.修复中国大陆wordpress上Gravatar头像无法显示问题
打开wp-includes文件夹下functions.php
将以下代码粘贴至主题文件夹内的 functions.php 最下方
/*修复wordpress上Gravatar头像无法显示问题*/
if ( ! function_exists( 'get_cravatar_url' ) ) {
/**
*替换Gravatar头像为Cravatar头像
*
* @param string $url
*
* @return string
*/
function get_cravatar_url( $url ) {
$sources = array(
'www.gravatar.com',
'0.gravatar.com',
'1.gravatar.com',
'2.gravatar.com',
'secure.gravatar.com',
'cn.gravatar.com'
);
return str_replace( $sources, 'cravatar.cn', $url );
}
add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );
add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );
add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
}
3.配置redis缓存(插件:Redis Object Cache)
wp-config.php 文件,并加入以下代码:
// adjust Redis host and port if necessary
define( 'WP_REDIS_HOST', '172.17.0.3' );
define( 'WP_REDIS_PORT', 6379 );
// change the prefix and database for each site to avoid cache data collisions
define( 'WP_REDIS_PREFIX', 'blog' );
define( 'WP_REDIS_DATABASE', 0 ); // 0-15
// reasonable connection and read+write timeouts
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );