我之前的服务器 nginx 是本地安装的,我搬家的时候直接把/etc/nginx/目录下的所有文件都搬到新 vps 上。
新 vps 上用 docker 起了个 nginx ,挂载的目录,compose 文件配置如下,up 后但是总是提示 nginx: [emerg] open() "/etc/nginx/sites-enabled/test.live.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:61
请问我那里理解错了呢?
version: '3'
services:
nginx:
image: nginx
container_name: nginx
volumes:
- /home/test/data/nginx-data:/etc/nginx
ports:
- "80:80"
1
nagisaushio 2023-12-16 11:56:39 +08:00 via Android
sites-enabled/test.live.conf 存在吗
|
2
nagisaushio 2023-12-16 11:58:20 +08:00 via Android
可能是因为 site-enabled 下都是软链?挂载后失效了
|
3
Rebron1900 OP @nagisaushio 存在,通过 ln -s 从 sites-available 链接过去的。
|
4
Rebron1900 OP @nagisaushio 我试试 cp 一个过去。
|
5
Rebron1900 OP @nagisaushio 确实~~~
|
6
Rebron1900 OP 有点动摇了,到底用不用 docker 起 nginx ,上面这个问题解决完,证书又出问题了。
我在 snippets 里写了个 ssl 的配置,在所有站点的 conf 里引用,现在又提示证书加载失败~~!!。 |
7
BrandonNg 2023-12-16 12:09:41 +08:00
nginx/数据库这种 最好还是不要用 docker
|
8
julyclyde 2023-12-16 12:36:18 +08:00
@Rebron1900 首先最好不用容器技术运行基础软件
其次,你上次配置文件咋解决的,按照思路再看看证书呗 |
9
SenLief 2023-12-16 12:42:03 +08:00
nginx 不建议用 docker ,我觉得手动配置好些钱,减少出错。
|
10
Rebron1900 OP @julyclyde 按之前的思路解决了,算了,还是不用容器了...本地起算了。
|
11
cdlnls 2023-12-16 13:18:42 +08:00
我也倾向于 nginx 不用 docker ,只有在需要更换版本测试的时候会考虑到用 docker 来快速启动。本身 nginx 安装并不复杂,基本上发行版的包管理都带了,安装也就是一句命令的事,也不会和系统其他组件冲突。用了 docker 的话还要额外考虑配置文件、日志文件、静态资源文件的挂载,ssl 证书自动更新也要额外处理。反正使用 docker 的优势一个都没有体现,还额外增加了其他麻烦事。
|
12
julyclyde 2023-12-16 13:22:38 +08:00
@Rebron1900 恭喜拨乱反正
不如写写解决问题的经验 |
13
evill 2023-12-16 14:54:27 +08:00
查看文件所属的 uid 和 container 的 uid 是否一致
|
14
vishun 2023-12-16 14:57:51 +08:00
@Rebron1900 #6 如果是自己用的站点,直接用 caddy 会方便一些,省的配置 ssl 这些。
|
15
Rebron1900 OP 结帖,基础服务本地安装,hhhh
|
16
Rebron1900 OP @vishun 还是用 Nginx 好一些,出问题了能找到的资料会多一些,好解决。SSL 我是用代码段+泛域名证书处理的,其实还算方便,每个服务引用一下就好了。
|
17
miaotaizi 2023-12-16 15:11:05 +08:00
你这应该是没明白 docker 的特性
可以找一些现成的 docker 方案看看 我之前是通过 laradock 这个项目学习到的 |
18
chenqh 2023-12-16 15:26:19 +08:00
nginx 这种东西从来不会装失败吧,mysql 我倒是装失败过,nginx 没必要 docker
|
19
chackchackGO 2023-12-16 15:32:34 +08:00
@Rebron1900 docker nginx proxy?
|
20
version 2023-12-16 15:44:34 +08:00
nginx-proxy-manager
traefik 用过后.我再也没安装过任何软件命令行了..啥东西都要有 docker 没自己包一个 服务器本地安装..效率太低..很多网络不给力.. |
21
lcl101 2023-12-16 17:32:16 +08:00
给写入权限了么
|
22
jasonyang9 2023-12-16 18:15:44 +08:00 via Android
@version 老哥有教程么或者给几个例子什么的
|
24
dreamage 2023-12-17 21:01:05 +08:00
歪个楼 这帖子 ID 挺顺
|
25
Serino 2023-12-18 13:02:21 +08:00
如果是为了反代,我为了偷懒,选择了 Caddy
|
26
Rebron1900 OP @miaotaizi 确实有些疑惑,比如我帖子里说到,机器里如果好几个 server 里都设置 mysql ,会造成资源浪费吗?
|
27
Rebron1900 OP @Serino 确实是为了反代,不过之前 nginx 上有七八域名配置,不想再一个个去转成 Caddy 了。
|
28
kindom 2023-12-18 13:50:30 +08:00
投 NPM 一票
|
29
Serino 364 天前
@Rebron1900 #27 我之前也是用 nginx ,好多坑掉进去,什么 https 头啊各种乱七八糟的,这方面我是小白,搞不懂,糟心。
换了 Caddy ,一般配置就三四行, 一行配置端口号, 一行配置证书 (我另外用脚本申请的),外加 tls 版本, 一行配置反代 IP , 顶多再加两行可有可无的,配置 encode 方式和日志。 保存,重启 Caddy ,收工~ |
31
Serino 364 天前
@Rebron1900 #27 有的吧,印象中官网都有。
你做反代,用 Caddy1 就行了,不需要用 Caddy2 。 一些小的 Caddy 的镜像,才十多 MB 。 但有些人编译的估计有问题,用不了。 我用的是这个 mting/xcaddy ( https://hub.docker.com/r/mting/xcaddy) --- docker 部署的时候,映射 Caddy 的那个/etc/caddy 路径出来, 然后修改这个路径下的 Caddyfile 配置文件, 比如这样: # whoami :63001 { tls /etc/caddy/myCert.cer /etc/caddy/myCert.key { protocols tls1.3 } reverse_proxy 172.16.18.201 encode gzip zstd } 重启 Caddy ,反代就立马生效了。 配置里面的这个 reverse_proxy 172.16.18.201 如果有需要,也是可以带端口的,比如 reverse_proxy 172.16.18.201:23456 SSL 证书自己找方法搞定。 我是写了个脚本,申请到就复制到特定位置覆盖。 这样,访问 caddy 的 63001 端口,就会反代到 172.16.18.201 , 不用担心 nginx 什么 https 这个头那个头的问题。 最初换 Caddy ,是因为我太小白了, Gotify docker 的那个 https ,在 nginx 下,实在搞不定。 用 Caddy ,嘿嘿,几行解决,顺利连通。 --- 如果要弄 log , Caddyfile ,前面的部分加上: (log) { log { output file /etc/caddy/log/{args.0}/access.log { roll_size 5MiB roll_local_time roll_keep 25 roll_keep_for 2160h } format console } } 然后反代配置加一行改成这样: # whoami :63000 { tls /etc/caddy/myCert.cer /etc/caddy/myCert.key { protocols tls1.3 } reverse_proxy 172.16.18.201 encode gzip zstd import log whoami } --- 如果想做个小的静态网站, 反代的配置再加一行 root * /etc/caddy/xxxxxx 类似这样。 这样访问的时候就会自动链接到这个目录下的 index.html 对比让我头大的 nginx ,Caddy 真的超简单 |
33
Rebron1900 OP @dianso 真是哪哪都有你呀。
|
34
DD0a48YwCzYUCQ8y 362 天前
docker 启动 nginx 有个坑,就是需要自己先把配置文件 cp 出来再映射(Docker 部署 Nginx 服务)[https://blog.zsan.cf/posts/docker-build-nginx/]
另外非专业用户还是用 caddy 吧!现代化工具,官方 docker 支持,部署太简单了! |
35
Rebron1900 OP @yongso 对,我当时也发现了这个问题。还是听楼上大家说的,这种服务还是直接本地起一个吧。
|
36
Rebron1900 OP @yongso 目前用的一木记账,最近也写了一篇记账的文章,hhh.
你博客的 twikoo 好像出问题了。 |
37
DD0a48YwCzYUCQ8y 359 天前
@Rebron1900 感谢🙏由于之前换域名导致的跨域问题
|
38
DD0a48YwCzYUCQ8y 359 天前
@Rebron1900 一木记账和钱际好像是一类的,不过还是觉得有能力自建记账,账本可是命根子啊,关于隐私这块,都是从业人士,不用多说都知道
|