<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[IT初学者]]></title> 
<description><![CDATA[IT初学者记录]]></description>
<link></link>
<language>zh-cn</language>
<generator>www.emlog.net</generator>
<item>
	<title>出现ERR_SSL_PROTOCOL_ERROR如何解决</title>
	<link>?post=57</link>
	<description><![CDATA[<p>今天在我自己的Nginx部署证书，发现一个奇怪的事情，同样的配置文件，有的服务器可以正常跑起来，有的却不行。</p>
<p>自己调试了一波，发现还是不行，于是就在网上找原因。</p>
<p>有人说是跟Nginx的版本有关系，于是我第一时间去查看我的Nginx版本。发现的确是不一样的版本。</p>
<div><div><p>在Nginx1.15版本之前，我的配置HTTPS服务是如下这样配置的。</p>
<p>&nbsp;</p>
</div>
server&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;443;<br />
&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;zqsctjt.com&nbsp;www.zqsctjt.com;</div>
<div><br />
&nbsp; &nbsp; &nbsp;ssl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_certificate&nbsp; &nbsp; &nbsp; /nginx/conf/ssl/abc.com.crt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_certificate_key&nbsp; /nginx/conf/ssl/abc.com.key;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_session_timeout&nbsp;&nbsp;5m;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_ciphers&nbsp;ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_protocols&nbsp;TLSv1&nbsp;TLSv1.1&nbsp;TLSv1.2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_prefer_server_ciphers&nbsp;on;</div>
<div><br />
</div>
<div>但是这个配置方式到了Nginx 1.15之后的版本就不适用了，配置上去之后，重启Nginx是不会报错的，但是在访问域名的时候，chrome浏览器会提示：ERR_SSL_PROTOCOL_ERROR 错误。</div>
<div><br />
</div>
<div>在网上找了一下资料，是说没有开启ssl配置的模块。</div>
<div>只要将上面的配置文件修改一下就好，改成下面的配置方式:</div>
<div><div>server&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;443 ssl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;zqsctjt.com&nbsp;www.zqsctjt.com;</div>
<div><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_certificate&nbsp; &nbsp; &nbsp; /nginx/conf/ssl/abc.com.crt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_certificate_key&nbsp; /nginx/conf/ssl/abc.com.key;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_session_timeout&nbsp;&nbsp;5m;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_ciphers&nbsp;ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_protocols&nbsp;TLSv1&nbsp;TLSv1.1&nbsp;TLSv1.2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ssl_prefer_server_ciphers&nbsp;on;</div>
</div>
<div><br />
</div>
<div><br />
</div>]]></description>
	<pubDate>Fri, 16 Oct 2020 08:32:52 +0000</pubDate>
	<author>站长</author>
	<guid>?post=57</guid>

</item>
<item>
	<title>nginx 日志切割</title>
	<link>?post=56</link>
	<description><![CDATA[<p>1.工具：logrotate&nbsp; &nbsp;centos系统自带的一款工具，还是蛮方便的。</p>
<p>2.安装logrotate 【yum -y install logrotate crontabs】</p>
<p>3.工具目录：</p>
<p>/etc/logrotate.conf&nbsp; # 主配置文件</p>
<p>/etc/logrotate.d&nbsp; &nbsp;# 配置目录</p>
<p>4.创建任务实例：</p>
<p>实例参考：</p>
<p>--------------------------</p>
<p>#【需要切割的log存放目录】</p>
<p>/home/wwwlogs/*.log {&nbsp;&nbsp;</p>
<p>#【按照天进行切割操作】</p>
<p>daily&nbsp; &nbsp;</p>
<p>#【旧的日志保留周期数量】</p>
<p>rotate 181&nbsp;&nbsp;</p>
<p>【工具在运行期间，忽略所有错误】</p>
<p>missingok&nbsp;&nbsp;</p>
<p>#【dateext&nbsp; 切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期，没有这个配置项会附加一个小数点加一个数字序号.dateformat 配合dateext使用可以为切割后的日志加上YYYYMMDD格式的日期，如dateformat -%Y%m%d】</p>
<p>dateext&nbsp;</p>
<p>#【通过指定的权限，创建新的日志文件】</p>
<p>create 666 www www</p>
<p>#【旧日志的存放位置，<span style="font-family:微软雅黑, sans-serif;font-size:14px;text-align:justify;">必须和当前日志文件在同一个文件系统</span>】</p>
<p>olddir /home/wwwlogs/log_backup&nbsp;</p>
<p>#【对旧文件对进行压缩】</p>
<p>compress&nbsp;</p>
<p>#【运行postrotate脚本，作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个，那么每个日志轮转后都会执行一次脚本】</p>
<p>sharedscripts&nbsp;</p>
<p>#【在logrotate转储之后需要执行的指令，例如重新启动 (kill -HUP) 某个服务！必须独立成行】</p>
<p>postrotate</p>
<p>&nbsp; &nbsp; if [ -f /usr/local/nginx/logs/nginx.pid ];then</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`</p>
<p>&nbsp; &nbsp; fi</p>
<p>endscript</p>
<p>}</p>
<p>------------------------&nbsp;</p>
<p>启动命令：</p>
<p>logrotate&nbsp; /etc/logrotate.conf&nbsp; # 启动所有配置的日志管理</p>
<p>logrotate&nbsp; /etc/logrotate.d/xxx&nbsp; &nbsp; # 启动xxx服务的日志管理</p>
<p>&nbsp;</p>
<p>logrotate&nbsp; -f&nbsp; /etc/logrotate.d/xxx # 强制生效，执行一次</p>
<p>logrotate&nbsp; -vf&nbsp; /etc/logrotate.d/xxx # 强制生效，执行一次,同时打印执行信息</p>]]></description>
	<pubDate>Sat, 29 Aug 2020 10:35:30 +0000</pubDate>
	<author>站长</author>
	<guid>?post=56</guid>

</item>
<item>
	<title>nginx 禁止通过IP访问443端口</title>
	<link>?post=55</link>
	<description><![CDATA[<div>只要在配置文件中，新建一个配置文件，名称自定义，然后配置如下：</div>
<div>server {</div>
<div>&nbsp; listen 443 ssl default_server;</div>
<div>&nbsp; server_name _;</div>
<div>&nbsp; ssl_certificate&nbsp; &nbsp; &nbsp; cert/xxx.crt; #允许被访问的域名对应的ssl证书文件</div>
<div>&nbsp; ssl_certificate_key&nbsp; cert/xxx.key; #允许被访问的域名对应的ssl证书密钥</div>
<div>&nbsp; return 400; #非允许的域名，则抛出400的错误，这个错误可以自定义。</div>
<div>}</div>
<div><br />
</div>]]></description>
	<pubDate>Mon, 29 Jun 2020 06:40:55 +0000</pubDate>
	<author>站长</author>
	<guid>?post=55</guid>

</item>
<item>
	<title>一台主，多台负载均衡，批处理更新配置</title>
	<link>?post=53</link>
	<description><![CDATA[<div>最近遇到比较多，就是一台主节点服务器，多台节点服务器的情况下，一旦更新了一个配置，那么跟随者的节点服务器都是需要同步更新，如果一台一台更新的话，就会比较麻烦，但是自己目前不具备编写工具的能力，所以就先采用脚本自动执行，这个方式也相对比较简单方便，下面是配置文件，仅供参考：</div>
<div><br />
</div>
<div>#!/bin/bash</div>
<div>scp -r /usr/local/nginx/conf/vhost/* root@192.168.0.182:/usr/local/nginx/conf/vhost/</div>
<div>scp -r /usr/local/nginx/conf/vhost/* root@192.168.0.174:/usr/local/nginx/conf/vhost/</div>
<div>scp -r /usr/local/nginx/conf/ssl/* root@192.168.0.182:/usr/local/nginx/conf/ssl/</div>
<div>scp -r /usr/local/nginx/conf/ssl/* root@192.168.0.174:/usr/local/nginx/conf/ssl/</div>
<div>ssh root@192.168.0.182 "service nginx reload"</div>
<div>ssh root@192.168.0.174 "service nginx reload"</div>
<div><br />
</div>
<div>上面的配置要放在主节点服务器下，同时主节点服务器跟负载节点服务器，进行无密码scp登陆，即采用key的方式登陆。</div>]]></description>
	<pubDate>Sun, 28 Jun 2020 03:36:31 +0000</pubDate>
	<author>站长</author>
	<guid>?post=53</guid>

</item>
<item>
	<title>scp简单使用，及免密操作</title>
	<link>?post=48</link>
	<description><![CDATA[<div><h2>1、scp日常使用</h2>
<p>格式：</p>
<blockquote><p>scp [option] [源路径] [目标路径]</p>
</blockquote>
<p>option：</p>
<p>-1&nbsp;&nbsp;强制scp命令使用协议ssh1&nbsp;&nbsp;</p>
<p>-2&nbsp;&nbsp;强制scp命令使用协议ssh2&nbsp;&nbsp;</p>
<p>-4&nbsp;&nbsp;强制scp命令只使用IPv4寻址&nbsp;&nbsp;</p>
<p>-6&nbsp;&nbsp;强制scp命令只使用IPv6寻址&nbsp;&nbsp;</p>
<p>-B&nbsp;&nbsp;使用批处理模式（传输过程中不询问传输口令或短语）&nbsp;&nbsp;</p>
<p>-C&nbsp;&nbsp;允许压缩。（将-C标志传递给ssh，从而打开压缩功能）&nbsp;&nbsp;</p>
<p>-p&nbsp;保留原文件的修改时间，访问时间和访问权限。&nbsp;&nbsp;</p>
<p>-q&nbsp;&nbsp;不显示传输进度条。&nbsp;&nbsp;</p>
<p>-r&nbsp;&nbsp;递归复制整个目录。&nbsp;&nbsp;</p>
<p>-v&nbsp;详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接，验证和配置问题。&nbsp;&nbsp;&nbsp;</p>
<p>-c&nbsp;cipher&nbsp;&nbsp;以cipher将数据传输进行加密，这个选项将直接传递给ssh。&nbsp;&nbsp;&nbsp;</p>
<p>-F&nbsp;ssh_config&nbsp;&nbsp;指定一个替代的ssh配置文件，此参数直接传递给ssh。&nbsp;&nbsp;</p>
<p>-i&nbsp;identity_file&nbsp;&nbsp;从指定文件中读取传输时使用的密钥文件，此参数直接传递给ssh。&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>-l&nbsp;limit&nbsp;&nbsp;限定用户所能使用的带宽，以Kbit/s为单位。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>-o&nbsp;ssh_option&nbsp;&nbsp;如果习惯于使用ssh_config(5)中的参数传递方式，&nbsp;&nbsp;&nbsp;</p>
<p>-P&nbsp;port&nbsp;&nbsp;注意是大写的P,&nbsp;port是指定数据传输用到的端口号&nbsp;&nbsp;&nbsp;</p>
<p>-S&nbsp;program&nbsp;&nbsp;指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。</p>
</div>
<div><div><h4>1.1发送文件到远程服务器</h4>
<blockquote><p>scp &nbsp;local_file login@server_ip:server_file</p>
</blockquote>
<p>例如：上传profile文件到192.168.1.1服务器的xiaobai用户的根目录下</p>
<p>scp /home/xiaobai/profile &nbsp;xiaobai@192.168.1.1:/home/xiaobai</p>
<h4>1.2发送整个目录到远程服务器</h4>
<blockquote><p>scp -r local_dir login@server_ip:server_dir</p>
</blockquote>
<p>例如：上传mytest目录到192.168.1.1服务的/home/xiaobai/QQ目录下</p>
<p>scp &nbsp;/home/xiaobai/mytest &nbsp;xiaobai@192.168.1.1:/home/xiaobai/QQ/</p>
<h4>1.3从远程服务器上拷贝文件到本地</h4>
<blockquote><p>scp login@server_ip:server_file &nbsp;local_file</p>
</blockquote>
<p>例如：将服务器192.168.1.1的/home/xiaobai/QQ/mytestfile文件拷贝到本地</p>
<p>scp xiaobai@192.168.1.1:/home/xiaobai/QQ/mytestfile &nbsp;/home/xiaobai/</p>
<h4>1.4从远程服务器上拷贝目录到本地</h4>
<blockquote><p>scp -r login@server_ip:server_dir &nbsp;local_dir</p>
</blockquote>
<p>例如：将192.168.1.1服务的/home/xiaobai/QQ目录******到本地</p>
<p>scp &nbsp;xiaobai@192.168.1.1:/home/xiaobai/QQ &nbsp;/home/xiaobai/mytest</p>
<blockquote><p>注意：不论上传或者******，当前使用用户必须有指定的服务器目录、文件的权限，否则会报无权限</p>
</blockquote>
<p>2、scp免密操作</p>
<p>相信大家在执行scp过程中，交互页面提示输入密码，如果在shell脚本中多处使用scp那就要多次输入密码；遇到这个问题，我也是很心累，然后找到了一些解决方案，挑出一种简单直接暴力的方式，推荐给大家。。。</p>
<p>2.1服务器（本机）从目标服务器上传/******文件或者文件夹</p>
<p>2.2生成秘钥</p>
<p>&nbsp; &nbsp; &nbsp;本机执行：ssh-keygen -t rsa</p>
<p>&nbsp; &nbsp; &nbsp;遇到提示，直接回车就OK，秘钥生成在用户的根目录的.ssh目录下。比如小白用户的/home/xiaobai/.ssh目录下</p>
<p>2.3 复制/home/xiaobai/.ssh/id_rsa.pub文件到目标服务器的/home/login_user/.ssh目录下，并重命名为authorized_keys</p>
<p>&nbsp; &nbsp; 本机执行：scp /home/xiaobai/.ssh/id_rsa.pub &nbsp;login_user@ip:/home/login_user/.ssh/authorized_keys</p>
<p>这样就完成使用scp命令，不输入密码，自动传输文件了</p>
<blockquote><p>注意：如果目标服务器上存在authorized_keys文件，请将id_rsa.pub文件内容追加到authorized_keys</p>
</blockquote>
<p></p>
</div>
<br />
<br />
</div>
<br />
<br />
原文链接：https://www.jianshu.com/p/35c8dc1eecc1]]></description>
	<pubDate>Thu, 28 Nov 2019 10:41:48 +0000</pubDate>
	<author>站长</author>
	<guid>?post=48</guid>

</item>
<item>
	<title>centos7下无法使用ifconfig命令解决方案</title>
	<link>?post=41</link>
	<description><![CDATA[<p>我对linux也是略知皮毛，但是近期由于项目变更，需要全部切换到linux的平台下，所以我又重新接触linux了。</p>
<p>今天安装了一台centos 7 的linux server ,安装完成之后，我发现ifconfig 命令无法执行。</p>
<p>一开始果断百度了一下。百度下有多种答案，但是似乎都不是全全面。</p>
<p>我就根据百度的解决方案，然后在根据server 报的实际错误来解决。</p>
<p>由于我是已经安装完成了。有部分的截图无法截取了。</p>
<p>简单说下，我的系统是&nbsp;CentOS-7-x86_64-Minimal-1708 &nbsp;这个可以直接在官网下载。</p>
<p>在安装完成之后，ifconfig 是无法使用的，需要重新安装。</p>
<p>在安装之前，首先确保自己的server 是可以正常访问外网的，一开始我就是忘记了我的服务器不支持外网访问，所以安装失败了。</p>
<p>&nbsp;确保服务器可以连接外网之后，执行</p>
<p>&nbsp;yum &nbsp;search ifconfig&nbsp; ,系统就会自动列出对应的安装包，列出之后直接运行 yum install net-tools.x86_64 接口。</p>
<p>如下图，</p>
<p><img src="http://www.zh0756.cn/images/centos/ifconfig.jpg" width="545" height="445" alt="" border="0" /></p>
<p>执行了之后，后面提示确认是否安装，出现提示之后，直接输入 Y确认。</p>
<p><img src="http://www.zh0756.cn/images/centos/ifconfig1.jpg" width="545" height="445" alt="" border="0" /></p>
<p>最后等待安装完成即可。</p>
<p>&nbsp;</p>]]></description>
	<pubDate>Fri, 01 Jun 2018 02:44:45 +0000</pubDate>
	<author>站长</author>
	<guid>?post=41</guid>

</item></channel>
</rss>