随便哪里新建一个文件夹,在文件夹下新建docker-compose.yml
配置文件,并且编辑文件:
version: '3' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' # 不建议修改端口 - '81:81' # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口 - '443:443' # 不建议修改端口 volumes: - ./data:/data # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建 - ./letsencrypt:/etc/letsencrypt # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建
之后在这个文件夹所在位置启动终端,输入以下命令以启动Nginx Proxy Manager:
docker-compose up -d # -d 表示后台运行
之后访问81端口(我的镜像是19327端口)即可打开Nginx Proxy Manager的页面。
和配置Nginx Proxy Manager一个步骤:
version: "3" services: halo: image: halohub/halo:2.13 container_name: halo restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./halo2:/root/.halo2 ports: - "8090:8090" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - --spring.r2dbc.username=root # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - --spring.r2dbc.password=o#DwN&JSa56 - --spring.sql.init.platform=mysql # 外部访问地址,请根据实际需要修改 - --halo.external-url=http://localhost:8090/ halodb: image: mysql:8.1.0 container_name: halodb restart: on-failure:3 networks: halo_network: command: - --default-authentication-plugin=caching_sha2_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true volumes: - ./mysql:/var/lib/mysql - ./mysqlBackup:/data/mysqlBackup ports: - "3306:3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] interval: 3s retries: 5 start_period: 30s environment: # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - MYSQL_DATABASE=halo networks: halo_network:
docker-compose up -d docker-compose logs -f // 查看实时日志
先把CloudFlare的CDN加速关掉。
如果使用了docker容器,则使用ip addr show docker0
查看在容器里的IP。
如图,Domain Name写域名,Scheme是协议不用管,Forward HostName/IP写127.0.0.1或者写刚才看的在docker容器里的IP,Forward Port写运行的服务所占用的端口(Halo默认8090)。Cache Assets是缓存,Block Common Exploits是阻止常见漏洞,Websockets Support是WebSocket接口支持,都可以打开。Access List是访问控制列表,不用管。
如果想要https访问(前提是域名已经解析到Nginx Proxy Manager所在的机器IP上),看下图:
选中Force SSL,其他四个不用管,点Save,理论上就申请好了。
最终配置完成应该长这样:
本文作者:御坂19327号
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!