天太冷了,手都僵硬了.又把 solo 博客搭了一下,以前搭好后写了一些文章,都不甚认真,我觉得写博客应该是一种学习习惯.对技术有热爱的人们应该把自己所学展示出来,给予需要的人以帮助.计算机技术本身就蕴含着分发分享的意义,事实上,大多数技术人都热爱分享,热心助人.并以此为乐.在分享的氛围中,学习是快乐的.
下面说下 solo 的搭建.机器安装好 docker,mysql.阿里云注意开放相应端口,事先按照 solo 官方安装教程在 mysql 中建好 solo 库.然后我们在 docker 中起两个容器,命令如下:
docker run -d -p 80:80 -p 443:443 --name nginx \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /root/nginx/www:/usr/share/nginx/html \
-v /root/nginx/ssl:/ssl/ \
-v /root/nginx/logs:/var/log/nginx \
nginx:latest
docker run --detach --name solo --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
b3log/solo --listen_port=8080 --server_scheme=https --server_host=www.cgblogs.top --server_port=
这里我配置了 https,使用 nginx 做反向代理,我按照官方做法配置 nginx 发现不能访问,好像反向代理不成功,我把 server_name 改成域名后就正常了,如果你遇到类似的问题,可以尝试这样解决.下面贴一下我的 nginx 配置文件 default.conf.
upstream backend {
server www.cgblogs.top:8080;
}
server {
listen 443;
listen [::]:443;
server_name cgblogs.top;
ssl on;
charset utf-8;
access_log /var/log/nginx/host.access.log main;
ssl_certificate /ssl/xxx.pem;
ssl_certificate_key /ssl/xxx.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://backend$request_uri;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
server{
listen 80;
server_name cgblogs.top;
rewrite ^(.*) https://$host$1 permanent;
}
有问题可以一起讨论.
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于