nginx一种代理,虽然是开发,但是也要懂一些
这个地方我们通过docker 安装nginx并且设置简单的代理
如何安装nginx我这个地方就不做太多的叙述
现在我有一个网址: 10.0.13.140:8090
我们可以看到的是端口号是8090
这里我们做一个代理:通过10.0.13.140:8080/WebTest 也可以访问上面的项目
这个应该如何实现,也就是我们的nginx的功能了
下面我们看如何通过nginx进行配置:
我这里运行了容器,其中一个是nginx
我们进入这个容器:
[root@test tmp]# docker exec -it nginx bash
root@22b08550c481:/# cd /etc/nginx/
root@22b08550c481:/etc/nginx# ll
bash: ll: command not found
root@22b08550c481:/etc/nginx# ls
conf.d fastcgi_params koi-utf koi-win mime.types modules nginx.conf scgi_params uwsgi_params win-utf
我们可以看到的是有在/etc/nginx/ 有一个nginx.conf 文件和conf.d 文件夹
其中nginx.conf这个文件是nginx的配置文件,我们可以在这个里面进行我们自己的配置
我们看一下这个文件
root@22b08550c481:/etc/nginx# cat 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;
include /etc/nginx/conf.d/*.conf;
}
root@22b08550c481:/etc/nginx#
在最后一行,我们可以看到的是,这个文件里面引入了/etc/nginx/conf.d/ 下面所有conf文件,也就是说我们可以在conf.d下面创建我们自己的conf文件
我们进入到conf.d目录下继续查看:
root@22b08550c481:/etc/nginx/conf.d# ls
default.conf
里面有一个default.conf文件,我们可以把这个文件cp到docker容器外面进行修改,进行我们自己的配置
listen 是nginx监听的端口,这个端口是docker的端口
charset utf-8 是编码
server_name 是宿主机的IP地址
location / {
proxy_pass http://10.0.13.140:8090 --//这个是我们要需要映射的地址,或者说是原地址,映射之前的端口是8090
}
保存之后,我们把这个文件cp到nginx原来的目录
然后重新启动docker
你会发现我们通过8080也可以访问上面的项目
希望对你有所帮助
转自:http://www.read8686.com/pages/detail/371