nginx 相关博客-Java技术分享站

    nginx nginx jvm123.com 是一个java技术分享站,内容涉及java、jvm、程序开发,单元测试框架Spock教程,测试视频教程,spring框架教程等, 以及服务器搭建、linux、docker等相关技术。

nginx location 访问路径和文件位置配置

<!-- wp:paragraph --> <p>locatin 后如果有等号,则表示精确匹配,只匹配单个确定的路径;</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>如果没有等号,直接为路径,则匹配以此路径开头的请求。</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code> location / { root html; index index.html; } # location /datav { # root D:/aaa; # index index.html; # } location /datav { alias D:/aaa; index index.html; }</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>如上,使用root和alias分别进行配置访问路径“/datav”时,需要注意:</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>root 表示资源文件的根目录文件夹,而路径“/datav”则是根目录下的子文件夹名称,所以此配置按路径访问的文件地址是“D:/aaa/datav/index.html“;</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>alias 表示别名,将当前的路径“/datav”作为后面文件夹的别名,所以上面配置路径访问的 文件地址是“D:/aaa/index.html“; </p> <!-- /wp:paragraph --> <!-- wp:heading --> <h2>请求过滤的配置方法</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>在server节点下配置过滤请求的if条件,如下,只允许get和head请求:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>server { listen 80; server_name jvm123.com; if ( $request_method !~ ^(GET|HEAD)$ ) { return 403; } location / { # ... } }</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p></p> <!-- /wp:paragraph -->

分类:dockerlinux服务器搭建开发笔记
标签:aliasnginx

2021-01-30 09:28:27.0
nginx location 访问路径和文件位置配置  nginx-location-fang

docker nginx 配置ssl,实现https

<!-- wp:heading --> <h2>nginx配置https总览</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>在nginx配置ssl实现https,简单来说分为三个步骤:</p> <!-- /wp:paragraph --> <!-- wp:heading {"level":3} --> <h3>1 上传ssl证书等文件</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>将 1_www.domain.com_bundle.crt 和 2_www.domain.com.key 上传到nginx配置文件的目录旁边。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>这两个文件分别为 证书文件和密钥文件 。</p> <!-- /wp:paragraph --> <!-- wp:heading {"level":3} --> <h3>2 配置server节点监听443端口</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>进行以下配置</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>server { listen 443; #SSL 访问端口号为 443 server_name www.domain.com; #填写绑定证书的域名 ssl on; #启用 SSL 功能 ssl_certificate 1_www.domain.com_bundle.crt; #证书文件名称 ssl_certificate_key 2_www.domain.com.key; #私钥文件名称 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_prefer_server_ciphers on; location / { root /var/www/www.domain.com; #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 index index.html index.htm; } }</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>或较高版本的nginx可如下配置:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>server { listen 443 ssl; #SSL 访问端口号为 443 并启用 SSL 功能 server_name www.domain.com; #填写绑定证书的域名 ssl_certificate 1_www.domain.com_bundle.crt; #证书文件名称 ssl_certificate_key 2_www.domain.com.key; #私钥文件名称 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_prefer_server_ciphers on; location / { root /var/www/www.domain.com; #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 index index.html index.htm; } }</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p><strong>注意:</strong></p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>这里要确保两个文件的位置是相对与nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而这个server节点配置在其他文件中,则路径还是相对于nginx.conf文件的位置。</p> <!-- /wp:paragraph --> <!-- wp:heading {"level":3} --> <h3>3 修改80端口的配置</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>修改80端口的配置可以让http的url转发到https的url。</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>server { listen 80; server_name www.domain.com; #填写绑定证书的域名 rewrite ^(.*)$ https://$host$1 permanent; #把http的域名请求转成https }</code></pre> <!-- /wp:code --> <!-- wp:heading --> <h2>常见文件位置问题</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p> 证书文件和密钥文件的位置是相对与nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而这个server节点配置在其他文件中,则路径还是相对于nginx.conf文件的位置。 如下图:</p> <!-- /wp:paragraph --> <!-- wp:image {"id":986,"align":"center"} --> <div class="wp-block-image"><figure class="aligncenter"><img src="http://jvm123.com/wp-content/uploads/2019/09/ssl.jpg" alt="" class="wp-image-986"/></figure></div> <!-- /wp:image --> <!-- wp:heading --> <h2>docker中ssl文件的位置</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>docker 中,nginx容器如果没有挂载ssl文件所在的目录,则需要手动将这两个文件复制在容器内部的nginx.conf文件旁边。如下图:</p> <!-- /wp:paragraph --> <!-- wp:image {"id":987,"align":"center"} --> <div class="wp-block-image"><figure class="aligncenter"><img src="http://jvm123.com/wp-content/uploads/2019/09/ssl2-1024x419.jpg" alt="" class="wp-image-987"/></figure></div> <!-- /wp:image --> <!-- wp:paragraph --> <p>复制可使用 <code>docker cp</code> 命令。</p> <!-- /wp:paragraph --> <!-- wp:heading --> <h2>验证ssl配置的正确性</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>在sbin目录下,执行 <code>nginx -t</code></p> <!-- /wp:paragraph --> <!-- wp:image {"id":988,"align":"center"} --> <div class="wp-block-image"><figure class="aligncenter"><img src="http://jvm123.com/wp-content/uploads/2019/09/ssl3.jpg" alt="" class="wp-image-988"/></figure></div> <!-- /wp:image --> <!-- wp:heading --> <h2>开放https 443端口</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>在主机的防火墙需要开放443端口,此外,如果还配置了云服务其的安全组,也需要开放443端口。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>在docker容器中,需要重新运行nginx,并添加443端口的端口映射。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>这些都配置完成之后,就可以访问了,效果示例地址: <a href="https://api.jvm123.com/index.html#" target="_blank" rel="noreferrer noopener" aria-label="(在新窗口打开)">https://api.jvm123.com/index.html</a></p> <!-- /wp:paragraph -->

分类:dockerlinux服务器搭建
标签:dockernginxdocker网络httpsdocker networklinuxssl

2019-09-05 16:06:35.0
docker nginx 配置ssl,实现https  docker-nginx-pei

nginx 配置负载均衡

<!-- wp:paragraph --> <p>windows下载nginx解压后如下:</p> <!-- /wp:paragraph --> <!-- wp:image --> <figure class="wp-block-image"><img src="https://static.oschina.net/uploads/space/2017/1019/170307_Ixwd_2342105.png" alt=""/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p>配置文件为conf目录下的nginx.conf</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>在http节点下加入upstream如下:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code> upstream tomcats { server 127.0.0.1:8081; server 127.0.0.1:8082; #server 127.0.0.1:8082 weight=2 fail_timeout=20s; #server 127.0.0.1:8081 weight=1 fail_timeout=20s; #ip_hash; }</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>&nbsp; &nbsp; 在server节点下修改location如下,加入proxy_pass :</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code> location / { root html; index index.html index.htm; proxy_pass http://tomcats; #这里和upstream的名称相同 }</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>启动(重启)nginx.exe,并请求server节点配置的server_name和端口port就可以将请求轮流发到8081和8082去处理。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>其中nginx的启动停止可以使用一下cmd命令:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>    nginx.exe -s stop     nginx.exe -s reload #重新加载配置文件     nginx.exe #启动</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>在linux中使用nginx:</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>&nbsp; &nbsp; 安装:sudo apt-get install nginx</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>&nbsp; &nbsp; 启动: sudo nginx (如果由于log文件权限问题启动失败,则可以在对应log目录下执行sudo chmod 777 xxx.log修改文件的权限)</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>配置负载均衡与windows差不多,在/etc/nginx目录下有配置文件nginx.conf,里面默认使用include导入了conf.d/文件夹下的所有*.conf文件,所以就可以将server节点以及upstream节点需要配置的东西分别在conf.d/目录下建立配置文件写入。若有权限问题,可以使用chmod修改权限。</p> <!-- /wp:paragraph -->

分类:linux服务器搭建
标签:nginx负载均衡linuxwindows

2019-08-21 20:19:26.0
nginx 配置负载均衡  nginx-pei-zhi-fu

vue-cli 2.x 和 @vue/cli 3.x

<!-- wp:heading --> <h2>安装nodejs</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>使用vue前,需要先下载安装nodejs,在官网下载后直接双击安装即可。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>安装完毕,可以在命令行 输入 npm 进行验证。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>npm 是 nodejs 附带的一个软件包管理工具,可以用它来安装项目所需的依赖。例如:安装vue-cli、vuex等。</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>// 例如: npm i element-ui -S</code></pre> <!-- /wp:code --> <!-- wp:heading --> <h2>安装vue-cli</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>vue-cli 是一个快速生成 vue 项目目录结构的工具,可通过以下命令安装:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm install -g vue-cli // 加-g是安装到全局 </code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>如果需要指定软件的版本,可用以下命令:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm i -g @vue/cli@3.0.0-beta.6</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>vue-cli 2.x 和 @vue/cli 3.x 使用的方式不同 ,下面分别介绍:</p> <!-- /wp:paragraph --> <!-- wp:heading --> <h2>vue-cli</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p><strong>1 使用webpack创建项目</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>vue init webpack my-project</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>根据提示,选择或填写项目基本的信息,最后会生成项目的目录 my-project。</p> <!-- /wp:paragraph --> <!-- wp:image {"id":681,"align":"center"} --> <div class="wp-block-image"><figure class="aligncenter"><img src="http://jvm123.com/wp-content/uploads/2019/08/vue-cli-1.x-1024x490.jpg" alt="" class="wp-image-681"/><figcaption>vue-cli 1.x 创建项目</figcaption></figure></div> <!-- /wp:image --> <!-- wp:paragraph --> <p><strong>2</strong> <strong><em>进入这个目录</em>,执行以下命令安装 package.json 中指定的依赖</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm install</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>如果还需要额外的依赖,则可通过以下命令安装:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm install -s vuex // 安装 vuex</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p><strong>3 运行项目使用以下命令</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm run dev</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p><strong>4 构建打包项目</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm run build</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>打包后,会生成 dist 文件夹,文件夹会有 index.html 文件,将此<strong>文件夹中的内容</strong>放在 nginx 的 html 目录下,则可以通过 nginx 访问,即网站应用已经发布完成。</p> <!-- /wp:paragraph --> <!-- wp:heading --> <h2>@vue/cli 3</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>如果安装 vue cli 的版本是3.0 以上的,则可通过以下步骤开发</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>1 创建项目</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>vue create my-project</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p><strong>2</strong> <strong><em>进入这个目录</em>,执行以下命令安装 package.json 中指定的依赖</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm install</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>如果还需要额外的依赖,则可通过以下命令安装:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm install -s vuex // 安装 vuex</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p><strong>3 运行项目使用以下命令</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm run serve</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p><strong>4 构建打包项目</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>npm run build</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>打包后,会生成 dist 文件夹,文件夹会有 index.html 文件,将此<strong>文件夹中的内容</strong>放在 nginx 的 html 目录下,则可以通过 nginx 访问,即网站应用已经发布完成。</p> <!-- /wp:paragraph -->

分类:vue前端笔记
标签:vue-clinpmvuenginx

2019-08-13 22:55:15.0
vue-cli 2.x 和 @vue/cli 3.x  vue-cli-1-he-vue