|
<div class="f14 mb10" id="read_tpc">
<span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=网站',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_2">网站</span>使用HTTP2有助于网站加速及更安全,要配置HTTP2必须满足两个条件:①openssl的版本必须在1.0.2e及以上。②nginx的版本必须在1.9.5以上<span style="display:none"> ~#9(Q </span> <br /><font size="4">一、准备工作</font><span style="display:none"> 5?C) v}w+ </span> <br /> <span style="display:none"> Mp`i@pm+ </span> <br />配置HTTP2之前需要先下载一些东西:openssl、pcre、zlib、nginx、申请SSL证书(可以到<span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=阿里云',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_1"><span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=阿里',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_3">阿里</span>云</span>、腾讯云等这些地方申请,有<span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=免费',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_4">免费</span>的也有收费的,如果用于测试学习免费的就行)<span style="display:none"> ?wbf)fbq </span> <br />下载地址:<span style="display:none"> ,~qjL|9 </span> <br />openssl:https://www.openssl.org/source/openssl-1.0.2l.tar.gz<span style="display:none"> _D~FwF&A </span> <br />pcre:https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gz<span style="display:none"> =F90SyzTy </span> <br />zlib:https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz<span style="display:none"> jV|/ C </span> <br />nginx: http://nginx.org/download/nginx-1.14.0.tar.gz<span style="display:none"> dp#'~[j </span> <br />下载下来后使用tar –zxvf xxxx.tar.gz解压出来<span style="display:none"> x_BnWFP </span> <br /><font size="4">二、 编译</font><span style="display:none"> Tq!.M1{& </span> <br />进入解压后的nginx目录,使用以下命令编译<span style="display:none"> 'mU7N<Q$qQ </span> <br />./configure --prefix=/usr/local/nginx --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-openssl=../openssl-1.0.2l --with-pcre=../pcre-8.00 --with-zlib=../zlib-1.2.11<span style="display:none"> #H/suQZN"g </span> <br /><font size="4">三、安装</font><span style="display:none"> >r5s>A[YC </span> <br />编译完成后使用命令make && make install安装<span style="display:none"> xC.Tipn> </span> <br /><font size="4">四、 启动、停止及查看是否安装成功</font><span style="display:none"> n~G-X
</span> <br />进入安装目录/usr/local/nginx,启动命令./sbin/nginx,停止命令:./sbin/nginx -s stop<span style="display:none"> &{H LYxh </span> <br />在浏览器访问ip地址,能访问说明安装成功<span style="display:none"> rQ287y{ </span> <br /> <span id="att_143658" class="f12"><span id="td_att143658" onmouSEOver="read.open('menu_att143658','td_att143658');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1371823902023405_6930359d02217ec.png?16" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att143658" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:1.png</span></p></div></div></span><span style="display:none"> g0-J8&?X </span> <br /> <span style="display:none"> wA7^ </span> <br /><font size="4">五、 配置https及http2</font><span style="display:none"> V[r1bF </span> <br />HTTP2是在https基础网上做的,所以需要ssl证书,<span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=配置',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_5">配置</span>步骤:<span style="display:none"> 4WZ"8 </span> <br />步骤一、在/usr/local/nginx/conf下新建一个sslkey文件夹用于存放ssl证书<span style="display:none"> g~Agy </span> <br />步骤二、将ssl证书<span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=上传',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_6">上传</span>到sslkey文件夹下<span style="display:none"> 4]%v%64U </span> <br />步骤三、配置nginx.conf文件<span style="display:none"> qB44;!( </span> <br />①Nginx.conf中各个参数的含义<span style="display:none"> D0a3%LBS/2 </span> <br /><div class="f12">复制代码</div><div class="blockquote2" id="code1"><ol><li>#运行用户</li><li>#user nobody;</li><li>#启动进程,通常设置成和cpu的数量相等</li><li>worker_processes 1;</li><li> </li><li>#全局错误日志及PID文件</li><li>#error_log logs/error.log;</li><li>#error_log logs/error.log notice;</li><li>#error_log logs/error.log info;</li><li> </li><li>#pid logs/nginx.pid;</li><li> </li><li>#工作模式及连接数上限</li><li>events {</li><li> #epoll是多路复用IO(I/O Multiplexing)中的一种方式,</li><li> #仅用于linux2.6以上内核,可以大大提高nginx的性能</li><li> use epoll; </li><li> </li><li> #单个后台worker process进程的最大并发链接数 </li><li> worker_connections 1024;</li><li> </li><li> # 并发总数是 worker_processes 和 worker_connections 的乘积</li><li> # 即 max_clients = worker_processes * worker_connections</li><li> # 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4 为什么</li><li> # 为什么上面反向代理要除以4,应该说是一个经验值</li><li> # 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000</li><li> # worker_connections 值的设置跟物理内存大小有关</li><li> # 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数</li><li> # 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右</li><li> # 我们来看看360M内存的vps可以打开的文件句柄数是多少:</li><li> # $ cat /proc/sys/fs/file-max</li><li> # 输出 34336</li><li> # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内</li><li> # 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置</li><li> # 使得并发总数小于操作系统可以打开的最大文件数目</li><li> # 其实质也就是根据主机的物理CPU和内存进行配置</li><li> # 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。</li><li> # ulimit -SHn 65535</li><li> </li><li>}</li><li> </li><li> </li><li>http {</li><li> #设定mime类型,类型由mime.type文件定义</li><li> include mime.types;</li><li> default_type application/octet-stream;</li><li> #设定日志格式</li><li> log_format main '$remote_addr - $remote_user [$time_local] "$request" '</li><li> '$status $body_bytes_sent "$http_referer" '</li><li> '"$http_user_agent" "$http_x_forwarded_for"';</li><li> </li><li> access_log logs/access.log main;</li><li> </li><li> #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,</li><li> #对于普通应用,必须设为 on,</li><li> #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,</li><li> #以平衡磁盘与网络I/O处理速度,降低系统的uptime.</li><li> sendfile on;</li><li> #tcp_nopush on;</li><li> </li><li> #连接超时时间</li><li> #keepalive_timeout 0;</li><li> keepalive_timeout 65;</li><li> tcp_nodelay on;</li><li> </li><li> #开启gzip压缩</li><li> gzip on;</li><li> gzip_disable "MSIE [1-6].";</li><li> </li><li> #设定请求缓冲</li><li> client_header_buffer_size 128k;</li><li> large_client_header_buffers 4 128k;</li><li> </li><li> </li><li> #设定虚拟主机配置</li><li> server {</li><li> #侦听80端口</li><li> listen 80;</li><li> #定义使用 www.nginx.cn访问</li><li> server_name www.nginx.cn;</li><li> </li><li> #定义服务器的默认网站根目录位置</li><li> root html;</li><li> </li><li> #设定本虚拟主机的访问日志</li><li> access_log logs/nginx.access.log main;</li><li> </li><li> #默认请求</li><li> location / {</li><li> </li><li> #定义首页索引文件的名称</li><li> index index.php index.html index.htm; </li><li> </li><li> }</li><li> </li><li> # 定义错误提示页面</li><li> error_page 500 502 503 504 /50x.html;</li><li> location = /50x.html {</li><li> }</li><li> </li><li> #静态文件,nginx自己处理</li><li> location ~ ^/(images|javascript|js|css|flash|media|static)/ {</li><li> </li><li> #过期30天,静态文件不怎么更新,过期可以设大一点,</li><li> #如果频繁更新,则可以设置得小一点。</li><li> expires 30d;</li><li> }</li><li> </li><li> #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.</li><li> location ~ .php$ {</li><li> fastcgi_pass 127.0.0.1:9000;</li><li> fastcgi_index index.php;</li><li> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</li><li> include fastcgi_params;</li><li> }</li><li> </li><li> #禁止访问 .htxxx 文件</li><li> location ~ /.ht {</li><li> deny all;</li><li> }</li><li> </li><li> }</li><li>}</li></ol></div>②配置80端口访问<span style="display:none"> yUp"%_t0 </span> <br /><div class="f12">复制代码</div><div class="blockquote2" id="code2"><ol><li>server {</li><li> listen 80;</li><li> server_name www.xxx.com xxx.com;</li><li> location / {</li><li> index index.html index.htm;</li><li> }</li><li> error_page 404 500 502 503 504 /404.html;</li><li> location = /50x.html {</li><li> root html;</li><li> }</li><li>}</li></ol></div>③配置443端口访问<span style="display:none"> 0dKi25J </span> <br /><div class="f12">复制代码</div><div class="blockquote2" id="code3"><ol><li>server {</li><li> listen 443 ssl http2; # 启用http2</li><li> server_name www.xxx.com xxx.com;</li><li> ssl on;</li><li> root html;</li><li> index index.html index.htm;</li><li> ssl_certificate sslkey/xxx.pem; # 证书pem文件</li><li> ssl_certificate_key sslkey/xxx.key; # 证书key文件</li><li> ssl_session_timeout 5m;</li><li> ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;</li><li> ssl_protocols TLSv1 TLSv1.1 TLSv1.2;</li><li> ssl_prefer_server_ciphers on;</li><li> location / {</li><li> index index.html index.htm;</li><li> }</li><li> error_page 404 500 502 503 504 /404.html;</li><li> location = /50x.html {</li><li> root html;</li><li> }</li><li>}</li></ol></div>这样访问https://www.xxx.com的时候就已经启用http2了<span style="display:none"> $mq@g </span> <br /><font size="4">六、配置301重定向</font><span style="display:none"> !Au9C
</span> <br />为了SEO将所有不带www的重定向到带www的,改变步骤<span style="display:none"> $g+q;Y~i0 </span> <br /> ① 在配置80端口server_name下添加<span style="display:none"> fPu,@
L
</span> <br /> <div class="f12">复制代码</div><div class="blockquote2" id="code4"><ol><li>rewrite ^(.*)$ https://$host$1 permanent;</li></ol></div>② 在配置443端口server_name下添加<span style="display:none"> %_%/ym </span> <br /><div class="f12">复制代码</div><div class="blockquote2" id="code5"><ol><li>if ($host != 'www.xxx.com' ) { </li><li> rewrite ^/(.*)$ http://www.xxx.com/$1 permanent; </li><li>}</li></ol></div><span style="display:none"> Y;OqdO </span> <br /><div id="alert_tpc" style="color:gray;margin-top:30px">[ 此帖被chenchuan在2018-07-22 10:58重新编辑 ]</div>
</div>
</div>
<!--content_read-->
</td>
</tr>
<tr>
|
|