使用Linux 六年多了,原以为安装下wordpress分分钟的事,但实际一波三折。还是对php-fmp不了解啊。想法非常简单,拉取wordpress的docker镜像并运行,当然默认是没有https支持的,我呢,让nginx反向代理到wordpress即可,然后给nginx加https,等于用户的数据到nginx这个过程是https的,之后nginx转发到本地的wordpress端口(http)。但是却一度陷入css丢失的状态。
至于wordpress如何安装,可以参考:https://docs.docker.com/compose/wordpress/
不过我改了数据库,我用了自己优化后的 mariadb,下面主要说https,https对于个人用户而言,letsencrypt是不错的选择,甚至唯一的选择了。下面的命令用于生成泛域名证书:
./certbot-auto certonly -d *.ssyer.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory
最后,附上我的nginx配置文件:
server { listen 80; server_name www.kpromise.top kpromise.top; server_tokens off; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name kpromise.top; charset uft-8; return 301 https://www.$host$request_uri; ssl_certificate /etc/letsencrypt/live/kpromise.top/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/kpromise.top/privkey.pem; } server { listen 443 ssl; server_name www.kpromise.top; server_tokens off; index index.php index.html index.htm; ssl_certificate /etc/letsencrypt/live/kpromise.top/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/kpromise.top/privkey.pem; ssl_ciphers \'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256\'; ssl_prefer_server_ciphers on; location / { try_files $uri @apache; } location @apache { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://localhost:8000; } location ~[^?]*/$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://localhost:8000; } location ~ \\.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_pass http://localhost:8000; } location ~/\\. { deny all; access_log off; log_not_found off; } }
一开始nginx配置非常简单,结果css总是加载不上来。试遍了网上的方法…