zoukankan      html  css  js  c++  java
  • 阿里云部署 (二)

    接着上一篇(安装完docker 和 SQL server 之后,  为了可以在服务器上build, 那个dotnet 也需要装上)

    1.自定义网络:

     docker network ls
    
     docker network create --subnet 192.168.0.0/16  --gateway 192.168.0.1  mynet 
    
      docker run --name mynginx -p 80:80 -p 443:443 -d --net mynet  -v /nginxdata:/usr/share/nginx -v /ngnixconf:/etc/nginx/conf.d2/  nginx

    在Linux 系统下,放 /nginxdata/html/index.html,公网IP 可以访问到nginx 了, 这里放公司 主页。 

    原来docker 的  /etc/nginx/conf.d/ 下有default.conf。 我们不用这个。

    修改 nginx 的根配置。

    在宿主机中:docker cp mynginx:/etc/nginx/nginx.conf /

    编辑之后(修改最后一行的include 路径),执行:docker cp /nginx.conf  mynginx:/etc/nginx/nginx.conf

    在 /ngnixconf 中添加 a.conf 文件: 这里的一个Server 大概相当于IIS的一个站点

    server {
      	listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
    
            server_name ryrkj.com;  #将localhost修改为您证书绑定的域名,例如:www.example.com。
            ssl_certificate  /usr/share/nginx/5153330_ryrkj.com.pem;   #将domain name.pem替换成您证书的文件名。
            ssl_certificate_key  /usr/share/nginx/5153330_ryrkj.com.key;   #将domain name.key替换成您证书的密钥文件名。
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
            ssl_prefer_server_ciphers on;
            location / {
                    root /usr/share/nginx/html; # 静态站点的文件路径
                    index index.html index.htm; # 默认文档
            }
    }
    root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
    root的处理结果是:root路径+location路径
    alias的处理结果是:使用alias路径替换location路径
    alias是一个目录别名的定义,root则是最上层目录的定义。
    还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。。。而root则可有可无~~
    
    root实例:
    
    location ^~ /t/ {
         root /www/root/html/;
    }
    location ^~ /t/ {
         root /www/root/html/;
    }
    如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。
    
    alias实例:
    
    location ^~ /t/ {
     alias /www/root/html/new_t/;
    }
    
    location ^~ /t/ {
     alias /www/root/html/new_t/;
    }
    如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
    
    注意:
    1. 使用alias时,目录名后面一定要加"/"。
    3. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
    4. alias只能位于location块中。(root可以不放在location中)

    添加 rewrite.conf 文件:

    server {
        listen 80;
        rewrite ^(.*)$ https://$host$1; 
        location / {
            index index.html index.htm;
        }
    }

    进入docker ,nginx -s reload

    https/http 都可以正常访问。

    气功波(18037675651)
  • 相关阅读:
    About Spring
    execle导入后 数据 无刷新 显示在 输入页面
    前端小神龟 -- 分页导航栏
    如何在mysql命令窗口获取到程序正在执行的sql语句
    div+css(ul li)实现图片上文字下列表布局
    C#异常之(已有打开的与此 Command 相关联,已有打开的与此命令相关联的 DataReader,必须首先将它关闭。)
    台灣VR內容產業聯盟_技術推廣中心
    2014新的一年到来,祝大家新年快乐
    matlab 提取文件路径名称,用于实现遍历读取文件(我的目的是遍历图像)
    无监督学习一些算法的简要概括(一)-稀疏自编码
  • 原文地址:https://www.cnblogs.com/qgbo/p/14646177.html
Copyright © 2011-2022 走看看