博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker安装nginx并部署一个静态项目
阅读量:4164 次
发布时间:2019-05-26

本文共 4372 字,大约阅读时间需要 14 分钟。

docker安装nginx并部署一个静态项目

1.搜索安装的 nginx 镜像

# docker search nginx

2.在docker hub 中选择合适的版本后进行 镜像拉取

# docker pull nginx:1.17.5

3.拉取完成后运行 nginx 容器

​ 使用 xftp 上传静态页面到服务器的/usr/local/app/nginx/www 目录下

在usr/local/app/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;    include /etc/nginx/conf.d/*.conf;}

以配置文件的方式运行nginx:

/data/nignx/conf 挂载容器里面的配置,即nginx.conf/data/nignx/conf.d 挂载容器里面的子配置,即nginx.conf里面include的配置文件/data/nignx/logs 挂载容器里面的代理的日志文件/data/nignx/html 挂载容器里面的界面的访问docker run -di -p 80:80 -p 443:443 --name=nginx-web \-v /usr/local/app/nginx/www:/usr/share/nginx/html \-v /usr/local/app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \-v /usr/local/app/nginx/conf.d:/etc/nginx/conf.d \-v /usr/local/app/nginx/logs:/var/log/nginx nginx:1.17.5# -d 后台运行# -i 交互方式运行# --name 自定义容器名称# -p 端口号映射 90 自定义为外部访问端口:80 为nginx容器对外暴露的端口# -v 目录挂载  冒号前为 外部目录,冒号后为 容器内目录;相当于外部目录中的内容会映射同步到容器内

4.访问运行好的容器

# ip:90          ip为当前服务器ip地址

5.进入到容器命令

# docker exec -it container-id/container-name /bin/bash# container-id     容器id# container-name   自定义容器名称

6.进入到容器的指定位置查看配置

# cd /etc/nginx/conf.d/可以看到默认的配置文件:# cat default.conf server {
# 默认监听 80 端口 listen 80; # localhost 为外部访问该地址的域名 域名解析指向---> NGINX 配置文件所在服务器 server_name localhost; # 这里为本地代理,当外部访问 server_name 域名的时候 就会转到以下代理地址 #1ocation / {
# proxy_pass http://192.168.0.243:8778; #} #charset koi8-r; #access_log /var/log/nginx/host.access.log main; # nginx 的默认访问文件夹为 root /usr/share/nginx/html # nginx 的默认访问页面为 index index.html index.htm location / {
root /usr/share/nginx/html; index index.html index.htm; }}

nginx.conf扩展说明知识点:

user  nginx;#nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数。worker_processes  2;error_log  /var/log/nginx/error.log warn;pid        /var/run/nginx.pid;events {	#单个后台worker process进程的最大并发链接数      worker_connections  1024;}http {	#设定mime类型,类型由mime.type文件定义    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;    #开启gzip压缩    gzip  on;    gzip_disable "MSIE [1-6].";    #设定请求缓冲    client_header_buffer_size    128k;    large_client_header_buffers  4 128k;		#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,	#对于普通应用,必须设为 on,    #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,    #以平衡磁盘与网络I/O处理速度,降低系统的uptime.    sendfile on;		#用于设置客户端连接保持活动的超时时间,在超过这个时间之后服务器会关闭该链接。    #keepalive_timeout  0;    keepalive_timeout  120; 		#允许客户端请求的最大单文件字节数	client_max_body_size 50m;		#服务器名字的hash表大小	server_names_hash_bucket_size 128;	#header中自定义变量时支持下划线	underscores_in_headers on; 		#down 表示当前的server暂时不参与负载	#weight 加权轮询权重,默认为1。weight越大,负载的权重就越大。	#backup 备用服务器, 当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。	#max_fails 允许请求失败的次数默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误	#fail_timeout max_fails次失败后,暂停的时间。	#apiServer不能用下划线,否则访问不到	upstream apiServer {      server 172.17.0.1:18081 weight=10;      server 172.17.0.1:28081 weight=10;    }    # http 转 https    server{		listen 80;		server_name www.xxxx.com 二级域名.xxxx.com;		rewrite ^ https://$http_host$request_uri? permanent;	}	server{		listen 80;		server_name www.xxxx.com;		location / {			root /html/xxxx;			index index.html index.htm;		}	}		server{		listen 80;		server_name xx.xxxx.com;		location / {			try_files $uri $uri/ @router;			root /html/xx;			index index.html index.htm;		}		location /api {			rewrite ^/api/?(.*)$ /$1 break;			include uwsgi_params;            proxy_pass http://apiServer;		}		proxy_set_header   Host             $host;		proxy_set_header   X-Real-IP        $remote_addr;								proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;	}}

转载地址:http://aqxxi.baihongyu.com/

你可能感兴趣的文章
Qt中设置窗体固定大小的方法
查看>>
qt 单例模式
查看>>
Qt之QThreadPool和QRunnable
查看>>
Qt之QEvent
查看>>
qt中 accept()和ignore()函数
查看>>
windbg 常用命令~*
查看>>
C++调用方式 入栈顺序
查看>>
windbg 常用查看锁以及互斥量
查看>>
dumpbin的使用
查看>>
VS下的常用快捷键
查看>>
常用的寄存器(& bss段的作用)
查看>>
简单的D3d使用(通过surface)
查看>>
qt 获取窗口句柄
查看>>
Qt拖放 drag and drop
查看>>
Qt之设置QWidget背景色
查看>>
QMiniData
查看>>
qt利用QSplitter任意拆分窗口
查看>>
Qt之系统托盘(QSystemTrayIcon详解)
查看>>
qt中的菜单QMenu QAction
查看>>
Qt下QTableWidget的使用
查看>>