当前位置: 首页 > 后端技术 > PHP

从零开始部署光环博客(包括光环博客设置域名访问)

时间:2023-03-29 21:04:17 PHP

原文地址:https://www.wjcms.net/archive...前面写的时候,我的博客突然出问题了,崩溃了,然后重新安装。因为对于新手来说,确实有些地方比较难对付,所以这里给出安装步骤,供大家参考。安装宝塔面板,参考这里的文章:https://www.wjcms.net/archive...安装Docker管理器登录宝塔面板,点击左侧软件商店。然后在搜索框中输入docker,出现搜索结果,点击安装。然后单击“确定”。然后查看队列查看安装状态,等待安装完成即可。安装Halo,下载配置文件到~/.halo目录进入ssh终端,运行命令下载配置文件curl-o~/.halo/application.yaml--create-dirshttps://dl.halo.run/config/application-template.yaml使用Vim工具修改配置文件vim~/.halo/application.yaml,编辑完成后退出。详细参数说明如下:如果需要自定义端口,修改server节点下的端口即可。默认使用H2Database,这是一个嵌入式数据库,使用起来非常方便。需要注意的是,默认的用户名和密码是admin和123456,是自定义的,最好修改后妥善保存。如果需要使用MySQL数据库,需要将H2Database的相关配置全部注释掉,取消MySQL的相关配置。另外,MySQL默认的数据库名为halodb,请自行配置MySQL并创建数据库,并在配置文件中修改用户名和密码。h2节点是H2Database的控制台配置,默认是禁用的。如果您想使用它,请将h2.console.settings.web-allow-others和h2.console.enabled设置为true。控制台地址为域名/h2-console。注意:非紧急情况不建议启用该配置。server.compression.enabled是为Gzip功能配置的。如有必要,请将其设置为true。需要注意的是,如果你使用Nginx或者Caddy作为反向代理,Gzip是默认开启的,这里可以保持默认。halo.admin-path为后台管理的根路径,默认为admin。如果怕别人猜到默认的admin(即使猜对了,对方也无能为力),请自行设置。仅支持一级,不带前导或尾随/。halo.cache是??系统缓存形式的配置,可选内存和级别,默认是内存,在内存中缓存数据。如果使用这种方式,重启应用会导致缓存被清空。如果选择level,数据会缓存到磁盘,重启不会清除缓存。如果不知道怎么选择,建议默认。拉取halo镜像使用命令sudodockerpullruibaby/halo创建容器,运行dockerrun--rm-it-d--namehalo-p8090:8090-v~/.halo:/root/.haloruibaby/halo--rm:停止后自动删除容器。--name:容器名称。-p:占用端口,前者为宿主机端口,后者为Halo运行端口,可在application.yaml中配置。-v:目录映射,一般不要修改。完成以上操作后,就可以通过ip:port访问了。其他重要命令#停止容器sudodockerstophalo#拉取最新的Halo镜像sudodockerpullruibaby/halo#创建容器dockerrun--rm-it-d--namehalo-p8090:8090-v~/.halo:/root/.haloruibaby/halo配置域名访问(重要)这里我按照官方的方法设置,但是没有成功。这是我自己的方法。这里必须注意开放端口:808090443端口必须在两个地方开放,一个是云服务器安全组配置,一个是宝塔面板安全配置发布端口。我在这里吃了亏。本以为打开云服务器就可以了,没想到无法访问。最后在宝塔面板上设置打开就好了。这里不能正式使用域名解析和ssl证书申请。推荐使用阿里云的免费证书。大家可以自己去申请,这里就不介绍了。配置Nginx在宝塔面板安装Nginx,方法同上安装docker,不再赘述。配置,设置ssl将申请的证书上传到云服务器。官方的方法是直接下载配置模板,然后进行配置。这里我们直接使用全局配置。直接运行命令vim/www/server/nginx/conf/nginx.conf编辑添加如下代码:server{listen80;server_namewjcms.netwww.wjcms.net;#这里是域名重写^(.*)$https://$host$1permanent;client_max_body_size1024m;}server{listen443ssl;server_namewjcms.netwww.wjcms.net;#这里是域名ssl_certificate/usr/local/xxxxxx.pem;#这里是证书地址ssl_certificate_key/usr/local/xxxxxxx.key;#这里是证书地址ssl_session_timeout5m;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocolsTLSv1TLSv1.1TLSv1.2;ssl_prefer_server_ciphers开启;位置/{proxy_set_headerHOST$host;proxy_set_headerX-Forwarded-Proto$scheme;proxy_set_headerX-Real-IP$remote_addr;/127.0.0.1:8090/;#注意这里的端口}}这样访问域名就可以看到博客了。附上我的地址:https://www.wjcms.net/