小编fra*_*ans的帖子

nginx:无权限绑定端口 8090 但它绑定到 80 和 8080

我正在努力解决一些与权限相关的奇怪行为:当我配置 nginx 以侦听端口 8080 时,一切都按预期工作,但是当我使用任何其他端口时,我会得到类似的结果

2014/01/10 09:20:02 [emerg] 30181#0: bind() to 0.0.0.0:8090 failed (13: Permission denied)
Run Code Online (Sandbox Code Playgroud)

/var/log/nginx/error.log

我不知道从哪里看,所以我真的不知道配置的哪些部分可能很有趣。

在 nginx.conf 中,nginx 被配置为作为 nginx 运行:

user  nginx;
Run Code Online (Sandbox Code Playgroud)

用户 nginx 也在另一个组“git”中

在站点配置中,我试着这样听:

server {
    listen 8090; #does not work
    #listen 8080; #works
    #listen 9090; #does not work
    #listen 9090 default; #does not work neighter
    #listen 80; #works!
    server_name <some IP>;
    ...
}
Run Code Online (Sandbox Code Playgroud)

我只有一个监听端口 443。

当我启动一些其他服务时,例如SimpleHTTPServer端口 8090 等,作为非 root 一切正常:

$ python -m SimpleHTTPServer 8090
Serving HTTP on 0.0.0.0 port …
Run Code Online (Sandbox Code Playgroud)

permissions nginx fedora port

49
推荐指数
1
解决办法
7万
查看次数

使已在 Fedora 上停用的内核模块可用

编辑:我把克里斯蒂安的回答变成了一个自动完成所有事情的脚本:https : //github.com/frans-fuerst/magic/blob/master/fedora-activate-can.sh

我需要一些在 Linux 源代码中可用但在 Fedora 20 上停用的内核模块,我想知道让它们可用的最简单和最先进的方法是什么。(即 net/CAN 支持导致一些 can_* 模块)

  • 是否有 Fedora-repos/rpms 使停用的模块可用?
  • 还是我必须手动编译这些模块?
  • 在这种情况下 - 是否有某种机制可以在内核更新的情况下自动执行此操作,还是我必须一遍又一遍地编译它们?

我已经遵循了这个HowTo(并且还有更多非常相似的),但是“仅构建模块”部分似乎仅适用于尚未禁用的模块,因为在这种情况下甚至模块源都丢失了。

这是我按照提到的HowTo尝试方法

首先,我尝试遵循Out Of Tree Modules部分,但是在随附的该死的源代码树中,kernel-devel甚至缺少 CAN 支持的源代码。所以我尝试从 src.rpm 构建模块:

$ yumdownloader --source kernel
$ sudo yum-builddep kernel-3.14.8-200.fc20.src.rpm
$ rpm -Uvh kernel-3.14.8-200.fc20.src.rpm
$ cd ~/rpmbuild/SPECS
$ rpmbuild -bp --target=$(uname -m) kernel.special
$ cd ~/rpmbuild/BUILD/<kerneldir>/<linuxdir>
$ <configure the kernel using menuconfig>
$ make prepare
Run Code Online (Sandbox Code Playgroud)

然后我构建并收到一些警告: …

linux fedora rpm kernel-modules update

6
推荐指数
1
解决办法
7307
查看次数

标签 统计

fedora ×2

kernel-modules ×1

linux ×1

nginx ×1

permissions ×1

port ×1

rpm ×1

update ×1