在 Docker 中安装并配置 Nginx
要在 Docker 中安装并配置 Nginx,您可以按照以下步骤进行:
-
拉取 Nginx 镜像:
首先,从 Docker Hub 拉取最新版本的 Nginx 镜像:
docker pull nginx
-
创建本地目录以挂载配置文件和静态资源:
为了方便管理和持久化 Nginx 的配置文件、日志和静态资源,建议在主机上创建以下目录:
mkdir -p ~/nginx/conf mkdir -p ~/nginx/logs mkdir -p ~/nginx/www
其中:
-
~/nginx/conf
:用于存放 Nginx 的配置文件。 -
~/nginx/logs
:用于存放 Nginx 的日志文件。 -
~/nginx/www
:用于存放静态资源文件。
-
-
创建 Nginx 配置文件:
在
~/nginx/conf
目录下,创建一个名为nginx.conf
的文件,并添加以下基本配置:user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } }
请根据实际需求修改配置文件。
-
运行 Nginx 容器并挂载配置:
使用以下命令运行 Nginx 容器,并将上述创建的目录挂载到容器中:
docker run -d \ --name mynginx \ -p 80:80 \ -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \ -v ~/nginx/logs:/var/log/nginx \ -v ~/nginx/www:/usr/share/nginx/html:ro \ nginx
此命令的含义如下:
-
-d
:后台运行容器。 -
--name mynginx
:为容器指定名称为mynginx
。 -
-p 80:80
:将主机的 80 端口映射到容器的 80 端口。 -
-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro
:将主机的 Nginx 配置文件挂载到容器内,并设置为只读。 -
-v ~/nginx/logs:/var/log/nginx
:将主机的日志目录挂载到容器内。 -
-v ~/nginx/www:/usr/share/nginx/html:ro
:将主机的静态资源目录挂载到容器内,并设置为只读。
-
-
验证 Nginx 是否成功运行:
在浏览器中访问
http://localhost
,如果看到 Nginx 的欢迎页面,说明部署成功。
通过上述步骤,您已在 Docker 中成功安装并配置了 Nginx。