Centos 7 使用iptables服务

Centos 7用firewall命令”替代”iptables。在这里我们需要区分”iptables服务”和”iptables命令”。虽然firewalld是替代提供的防火墙管理iptables服务,但是它任然使用iptables对内核命令动态通信包过滤。所以它只是iptables服务代替,而不是iptables命令。

如果想使用iptables服务,执行如下命令

selinux可能会阻止启动iptables,此时可以先使用setenforce 0,再执行systemctl enable iptables

1
2
3
4
5
6
7
8
systemctl stop firewalld
systemctl disable firewalld

yum install iptables-services
setenforce 0

systemctl start iptables
systemctl enable iptables

Centos 7 禁用IPv6

当通过命令得到类似结果时,可以确认你的系统是启用了IPv6的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~]# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::225:90ff:feaf:7e74/64 scope link
valid_lft forever preferred_lft forever

[root@localhost ~]# lsmod | grep ipv6
nf_conntrack_ipv6 18738 5
nf_defrag_ipv6 34651 1 nf_conntrack_ipv6
nf_nat_ipv6 13279 1 ip6table_nat
nf_nat 21798 4 nf_nat_ipv4,nf_nat_ipv6,ip6table_nat,iptable_nat
nf_conntrack 101024 8 nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,ip6table_nat,iptable_nat,nf_conntrack_ipv4,nf_conntrack_ipv6

如何关闭呢?我们需要进行如下操作:

编辑文件/etc/sysctl.conf,添加下面的行:

1
2
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.all.disable_ipv6 = 1

如果你想要为特定的网卡禁用IPv6,比如,对于enp0s3,添加下面的行:

1
net.ipv6.conf.enp0s3.disable_ipv6 = 1

使用如下命令生效

1
sysctl -p

编辑文件/etc/sysconfig/network,添加下面的行:

1
NETWORKING_IPV6=no

Centos 7 更改yum源

Centos 7 默认的源的网址[mirrorlist.centos.org],属于国外的网站,可能出现连不上或者网速很慢的。网易(163) yum 源是国内最好的 yum 源之一,无论是速度还是软件版本,都非常不错,将 yum 源设置为163,可以提升软件包安装和更新的速度,同时避免一些常用软件版本无法找到。

Read More

Hexo 常用配置

自定义页面

执行 new page 命令

1
hexo new page "About"

在hexo\source\下会生成about目录,里面有个index.md,直接编辑就可以了,然后在主题的_config.yml中将其配置显示出来。
上述步骤,也可以手工生成,在hexo\source\下首贡新建about和index.md也是完全等价的。

文章摘要

在需要显示摘要的地方添加如下代码即可:

1
2
3
以上是摘要
<!--more-->
以下是余下全文

more以上内容即是文章摘要,在主页显示,more以下内容点击 Read More 链接打开全文才显示。
hexo 中所有文件的编码格式均是 UTF-8。

description

markdown 文件中也可以添加 description,以覆盖全局配置文件中的 description 内容,请参考下文 _config_yml 的介绍。

1
2
3
4
5
title: hexo你的博客
date: 2013-11-22 17:11:54
categories: default
tags: [hexo]
description: 你对本页的描述

hexo 默认会处理全部 markdown 和 html 文件,如果不想让 hexo 处理你的文件,可以在文件头中加入 layout: false。

Apache 开启Server-status和server-info

如果靠分析 Apache 的日志或者查看服务器进程来监视 Apache 运行状态的话,比较繁冗。不过在 Apache 1.3.2及以后的版本中就自带了一个查看 Apache 状态的功能模块 server-status,这样查看 apache 的一些相应状态信息会很方便。

Read More

Apache 静态编译和动态编译

动态编译就是可执行文件需要附带一个动态链接库,在执行时,需要调用对应动态链接库中的命令。所以其优点一方面是缩小了可执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其它计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。
静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中,使可执行文件在运行的时候不依赖于动态链。所以其有缺点与动态编译的可执行文件正好互补。

Read More

Apache 里的 MPM 调优比较

MPM 是 Apache 2 引入的一个概念,就是结构模块化。把核心任务处理作为一个可插拔的模块,即多路处理模块(MPM),使其能针对不同的环境进行优化。在编译apache时必须选择也只能选择一个 MPM,对类 UNIX 系统,有几个不同的 MPM 可供选择,它们会影响到 apache 的速度和可伸缩性。
Multi-Processing Module (MPM) implements a hybrid multi-process multi-threaded server。(多进程、多线程)

Read More

Microsoft SQL Server 缓存清除与内存释放

很多时候我们会发现运行 SQL Server 的系统内存往往会居高不下。这时由于它对于内存使用的策略是有多少闲置的内存就占用多少,直到内存使用率达到系统峰值时,才会清除一些缓存释放少量的内存为新的缓存腾出空间。

这些内存一般都是 SQL Server 运行时候用作缓存的,例如你运行了一个 select 语句,执行整个存储过程,调用函数:

1.数据缓存:执行查询语句,SQL Server 会将相关的数据页加载到内存中来,下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。

2.执行命令缓存:在执行存储过程,自定函数时,SQL Server 需要先二进制编译再运行,编译后的结果也会缓存起来,再次调用时就无需再次编译。

Read More