docker 安装nginx 配置目录挂载

目录
nginx 的安装
运行mynginx容器
设置开机自动启动容器
nginx 的安装
mkdir /usr/local/docker
cd /usr/local/docker
docker run --name nginxtest -d nginx #运行一个测试的nginx
docker cp nginxtest:/etc/nginx ./ #把容器里的nginx的目录复制
docker rm -f nginxtest #删除测试的nginx-test
复制出来的nginx目录结构

#复制出来的nginx目录结构
[root@localhost docker]# tree nginx
nginx
├── conf.d
│ └── default.conf
├── fastcgi_params
├── koi-utf
├── koi-win
├── logs
│ ├── access.log
│ ├── error.log
│ ├── gin.haimait.com.access.log
│ ├── gin.haimait.com.error.log
│ ├── localhost.access.log
│ └── localhost.error.log
├── mime.types
├── modules -> /usr/lib/nginx/modules
├── nginx.conf
├── scgi_params
├── uwsgi_params
└── win-utf
运行mynginx容器
#运行mynginx 挂载到/wwwroot是为了保持容器和宿主机目录一致,以免配置时出错

docker run
–name mynginx
-p 8081:80
-p 443:443
-v /etc/localtime:/etc/localtime:ro
-v /wwwroot:/wwwroot
-v $PWD/nginx:/etc/nginx
-v $PWD/nginx/logs:/var/log/nginx
–restart always
-d nginx

编写默认的配置文件

vim $PWD/nginx/conf.d/default.conf

把内容换下面的内容

server {

listen       80;

server_name  localhost;

access_log  /var/log/nginx/localhost.access.log;
error_log   /var/log/nginx/localhost.error.log;

# 配置前端静态文件目录

location / {
    root  /wwwroot/html;
    index  index.html index.htm index.php;
}

#location ~ \.php$ {
#    fastcgi_pass   myphp73-fpm:9000; #myphp73-fpm容器的名字
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
#    include        fastcgi_params;
#}

# 配置后台go服务api接口服务 代理到8877端口  
#location ~ ^/goadminapi/ {
#    proxy_set_header   Host             $http_host;
#    proxy_set_header   X-Real-IP        $remote_addr;
#    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
#    proxy_set_header   X-Forwarded-Proto  $scheme;
#    rewrite ^/goadminapi/(.*)$ /$1 break;
#    proxy_pass  http://127.0.0.1:8877;   
#    }

}

配置一个域名也指向到/wwwroot/html目录 确定你的域名已经解析到服务器的ip上了

vim $PWD/nginx/conf.d/gin.haimait.com.conf

内容如下:

server {

listen       80;

server_name  gin.haimait.com;

access_log  /var/log/nginx/gin.haimait.com.access.log;
error_log   /var/log/nginx/gin.haimait.com.error.log;

# 配置前端静态文件目录
location / {
    root  /wwwroot/html;    
    index  index.html index.htm index.php;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

#location ~ \.php$ {
#    fastcgi_pass   myphp73-fpm:9000; #myphp73-fpm容器的名字
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
#    include        fastcgi_params;
#}


# 配置后台go服务api接口服务 代理到8877端口  
#location ~ ^/goadminapi/ {
#    proxy_set_header   Host             $http_host;
#    proxy_set_header   X-Real-IP        $remote_addr;
#    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
#    proxy_set_header   X-Forwarded-Proto  $scheme;
#    rewrite ^/goadminapi/(.*)$ /$1 break;
#    proxy_pass  http://127.0.0.1:8877;   
#    }

}
重启nginx

docker restart mynginx

新建index.html

mkdir /wwwroot/html
vim /wwwroot/html/index.html
内容如下:

hello nginx , html

测试

以下说明都已经配置成功了

[root@localhost ~]# curl localhost:8081
hello nginx , html
[root@localhost ~]# curl gin.haimait.com:8081
hello nginx , html
浏览器访问

删除nginx容器重启容器,wwwroot里的内容也不会丢

到此已经完成安装

设置开机自动启动容器
在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:

docker run --restart=always CONTAINER ID

目录
nginx 的安装
运行mynginx容器
设置开机自动启动容器
nginx 的安装
mkdir /usr/local/docker
cd /usr/local/docker
docker run --name nginxtest -d nginx #运行一个测试的nginx
docker cp nginxtest:/etc/nginx ./ #把容器里的nginx的目录复制
docker rm -f nginxtest #删除测试的nginx-test
复制出来的nginx目录结构

#复制出来的nginx目录结构
[root@localhost docker]# tree nginx
nginx
├── conf.d
│ └── default.conf
├── fastcgi_params
├── koi-utf
├── koi-win
├── logs
│ ├── access.log
│ ├── error.log
│ ├── gin.haimait.com.access.log
│ ├── gin.haimait.com.error.log
│ ├── localhost.access.log
│ └── localhost.error.log
├── mime.types
├── modules -> /usr/lib/nginx/modules
├── nginx.conf
├── scgi_params
├── uwsgi_params
└── win-utf
运行mynginx容器
#运行mynginx 挂载到/wwwroot是为了保持容器和宿主机目录一致,以免配置时出错

docker run
–name mynginx
-p 8081:80
-p 443:443
-v /etc/localtime:/etc/localtime:ro
-v /wwwroot:/wwwroot
-v $PWD/nginx:/etc/nginx
-v $PWD/nginx/logs:/var/log/nginx
–restart always
-d nginx

编写默认的配置文件

vim $PWD/nginx/conf.d/default.conf

把内容换下面的内容

server {

listen       80;

server_name  localhost;

access_log  /var/log/nginx/localhost.access.log;
error_log   /var/log/nginx/localhost.error.log;

# 配置前端静态文件目录

location / {
    root  /wwwroot/html;
    index  index.html index.htm index.php;
}

#location ~ \.php$ {
#    fastcgi_pass   myphp73-fpm:9000; #myphp73-fpm容器的名字
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
#    include        fastcgi_params;
#}

# 配置后台go服务api接口服务 代理到8877端口  
#location ~ ^/goadminapi/ {
#    proxy_set_header   Host             $http_host;
#    proxy_set_header   X-Real-IP        $remote_addr;
#    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
#    proxy_set_header   X-Forwarded-Proto  $scheme;
#    rewrite ^/goadminapi/(.*)$ /$1 break;
#    proxy_pass  http://127.0.0.1:8877;   
#    }

}

配置一个域名也指向到/wwwroot/html目录 确定你的域名已经解析到服务器的ip上了

vim $PWD/nginx/conf.d/gin.haimait.com.conf

内容如下:

server {

listen       80;

server_name  gin.haimait.com;

access_log  /var/log/nginx/gin.haimait.com.access.log;
error_log   /var/log/nginx/gin.haimait.com.error.log;

# 配置前端静态文件目录
location / {
    root  /wwwroot/html;    
    index  index.html index.htm index.php;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

#location ~ \.php$ {
#    fastcgi_pass   myphp73-fpm:9000; #myphp73-fpm容器的名字
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
#    include        fastcgi_params;
#}


# 配置后台go服务api接口服务 代理到8877端口  
#location ~ ^/goadminapi/ {
#    proxy_set_header   Host             $http_host;
#    proxy_set_header   X-Real-IP        $remote_addr;
#    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
#    proxy_set_header   X-Forwarded-Proto  $scheme;
#    rewrite ^/goadminapi/(.*)$ /$1 break;
#    proxy_pass  http://127.0.0.1:8877;   
#    }

}
重启nginx

docker restart mynginx

新建index.html

mkdir /wwwroot/html
vim /wwwroot/html/index.html
内容如下:

hello nginx , html

测试

以下说明都已经配置成功了

[root@localhost ~]# curl localhost:8081
hello nginx , html
[root@localhost ~]# curl gin.haimait.com:8081
hello nginx , html
浏览器访问

删除nginx容器重启容器,wwwroot里的内容也不会丢

到此已经完成安装

设置开机自动启动容器
在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:

docker run --restart=always CONTAINER ID

如果已经启动了则可以使用如下命令:

docker update --restart=always CONTAINER ID #设置启动nginx时自动启动
docker update --restart=no CONTAINER ID #设置启动nginx时不启动

[root@localhost www]# docker update --restart=always nginx
nginx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值