pau*_*l23 13 nginx docker alpine-linux
好吧,我已经设置了一个带有 nginx 的 alpine linux docker 容器
( apk add nginx)
现在我正在尝试运行 nginx。使用简单命令nginx返回以下错误:
nginx: [emerg] open() "/run/nginx/nginx.pid" failed (2: No such file or directory)
Run Code Online (Sandbox Code Playgroud)
这是什么原因造成的?- 即使作为 root 我也没有打开的权限,/run/所以我无法真正检查出来。我的 nginx.conf 是:
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
#include /etc/nginx/mime.types;
#default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
##
# Virtual Host Configs
##
#include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*;
}
Run Code Online (Sandbox Code Playgroud)
当然不包括服务器,但我希望它能够运行并且永远不会提供任何服务。- 但即使我启用了包含(重定向到默认的 html 到页面,我也复制到 docker 中)也会发生同样的错误。
ewa*_*att 14
/run/nginx最新的 alpine 容器上不存在该目录。
您可以创建目录或更改 PID 文件位置。
在 Dockerfile 中创建目录:
RUN mkdir -p /run/nginx
Run Code Online (Sandbox Code Playgroud)
或者更改PID文件的位置:
nginx -g 'pid /tmp/nginx.pid;'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15650 次 |
| 最近记录: |