Solo部署
基本按照官方文档操作,现在的Solo搭建官方建议用Docker安装,这样更新起来比较方便,直接重新拉取Docker镜像就行。
数据库部署
考虑到数据库版本问题,所以使用Docker将数据库隔离开。官方可选H2和Mysql,对Mysql熟悉一点,所以使用Mysql。
Nginx部署
Nginx需要修改几个配置文件,使用Docker映射文件会比较麻烦。并且Nginx一般单台服务器只运行一个,所以就不采用Docker而采用直接安装的方式。
官方文档没写到的地方
Nginx开启SSL配置
以阿里云为例
将申请到的SSL证书文件放到Nginx的安装路径下,一般为/etc/nginx
,建议新建一个名为ssl或者cert的文件夹。
进入conf.d
文件夹下添加配置文件名字随意xxx.conf
这是官方给出的,http的Nginx反代配置文件。
upstream backend {
server localhost:8080; # Solo 监听端口
}
server {
listen 80;
server_name 88250.b3log.org; # 博客域名
access_log off;
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;
}
}
若要开启SSL需要修改以下地方。
upstream backend {
server localhost:8080; # Solo 监听端口
}
server {
#首先将80改为443 ssl
listen 443 ssl;
server_name 88250.b3log.org; # 博客域名
#ssl信息 注意文件夹
ssl_certificate cert/a.pem;#pem文件路径
ssl_certificate_key cert/a.key;#key文件路径
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log off;
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;
}
}
#最后再添加强制http转https 若不需要可不写
server {
listen 80;
server_name 域名; #将localhost修改为您证书绑定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
location / {
index index.html index.htm;
}
}
修改配置文件后重启Nginx即可生效,systemctl restart nginx
,重载配置文件也可以。
文章评论