Aws Cloudfront设置不缓存

aws 的cf需要可以根据自己需要配置那些文件不缓存,方法如下:

首先进入cf主页面,在这里设置不需要缓存的文件类型和目录:

cf

cf2

cf3

这样设置完成后这些文件就不在缓存了。

还有一种情况,如果一个目录a你想设置5分钟自己清除缓存,而a目录下b目录文件夹需要不缓存,可以这么设置:

首先,CDN没有自动刷新,都是TTL即缓存时间,按照你的条件就是设置defaultTTL为5分钟。

另外,对于重合路径会按照Behavior里的顺序,以及最小集合。

所以,大概的设置就是

/a/b/*   TTL 0

/a/* TTL 5mins

nginx支持tcp转发

这个其实很简单,直接加一个模块就可以了,不过这个不自带,需要自己安装:

 

-prefix=/usr/local/nginx –with-pcre=/home/soft/pcre-8.30 –with-openssl=/home/soft/openssl-1.0.2g –add-module=../nginx_tcp_proxy_module-master

 

如果安装中出现:

configure: error: zlib library not found

直接yum安装即可。

yum install zlib-devel;

配置如下:

 

nginx_tcp_proxy_module-master

activemq install

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位.

安装如果出现如下错误:

#error “Newer version of jemalloc required”

make MALLOC=libc  #增加这个

make install

 

修改redis.conf文件

daemonize yes

appendonly yes

logfile

apache-activemq-  install

配置java环境:

 

wget https://archive.apache.org/dist/activemq/5.13.0/apache-activemq-5.13.0-bin.tar.gz .

 

tar –zxvf apache-activemq-5.13.0-bin.tar.gz

 

/home/app/apache-activemq-5.13.0/bin

 

./activemq start  #start

./activemq stop   #stop

三种运行方式:
(1)普通启动 ./activemq start
(2)启动并指定日志文件 ./activemq start >tmp/smlog
(3)后台启动方式nohup ./activemq start >/tmp/smlog

访问测试:

http://10.1.36.138:8161/admin/

默认密码:

user/pass:   admin/admin

http://www.cnblogs.com/gossip/p/5969925.html

/sbin/iptables -I INPUT -p tcp –dport 8161 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status

/sbin/iptables -I INPUT -p tcp –dport 61616 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status

http://activemq.apache.org/overview.html

修改密码:

http://www.open-open.com/lib/view/open1454215248933.html

配置web管理页面的安全认证

默认的web页面用户名密码admin:admin,非常不安全,

编辑jetty-realm.properties文件,(用户:密码,组)

admin: admin123, admin

user: user123, user

配置web管理页面的绑定IP和端口

编辑jetty.xml,查找WebConsolePort

<bean id=”jettyPort” class=”org.apache.activemq.web.WebConsolePort” init-method=”start”>

<!– the default port number for the web console –>

<property name=”host” value=”192.168.0.31″/>

<property name=”port” value=”8161″/>

</bean>

配置MQ连接的安全认证

编辑activemq.xml,在<broker>下加

<plugins>

<simpleAuthenticationPlugin>

<users>

<authenticationUser username=”user” password=”user123″ groups=”users” />

</users>

</simpleAuthenticationPlugin>

</plugins>

禁用不使用的连接协议

编辑activemq.xml,在<transportConnectors>中注销或删除不使用的<transportConnector>

<transportConnectors>

<!– DOS protection, limit concurrent connections to 1000 and frame size to 100MB –>

<transportConnector name=”openwire” uri=”tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600″/>

<!–<transportConnector name=”amqp” uri=”amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600″/>

<transportConnector name=”stomp” uri=”stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600″/>

<transportConnector name=”mqtt” uri=”mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600″/>

<transportConnector name=”ws” uri=”ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600″/>–>

</transportConnectors>

上面我只保留了61616的openwire协议端口

绑定协议连接端口到指定IP

编辑activemq.xml,在<transportConnectors>下找到指定协议的配置,并修改0.0.0.0为要绑定的ip

<transportConnector name=”openwire” uri=”tcp://192.168.0.10:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600″/>

使用MySql作为持久化保存

编辑activemq.xml,在<beans>下插入如下bean配置

<bean id=”mysql-ds” class=”org.apache.commons.dbcp2.BasicDataSource” destroy-method=”close”>

<property name=”driverClassName” value=”com.mysql.jdbc.Driver” />

<property name=”url” value=”jdbc:mysql://192.168.0.20/activemq?relaxAutoCommit=true” />

<property name=”username” value=”activemq” />

<property name=”password” value=”123456″ />

<property name=”poolPreparedStatements” value=”true” />

</bean>

删除或注销掉<persistenceAdapter>下的<kahaD>,添加<jdbcPersistenceAdapter>

<persistenceAdapter>

<!–<kahaDB directory=”${activemq.data}/kahadb”/>–>

<jdbcPersistenceAdapter dataDirectory=”activemq-data” dataSource=”#mysql-ds”/>

</persistenceAdapter>

配置基于JDBC的高可用环境

两个以上activemq使用一样的db配置,

客户端连接url为failover:(tcp://broker1:61616,tcp://broker2:61616)

官方参考文档

修改内存

linux下,修改bin/env的ACTIVEMQ_OPTS_MEMORY属性,Xms=最小内存,Xmx=最大内存

ACTIVEMQ_OPTS_MEMORY=”-Xms64M -Xmx1G”

window下,修改activemq.bat,在 if “%ACTIVEMQ_OPTS%” == ” 前设置

set ACTIVEMQ_OPTS=-Xms1G -Xmx1G

注册为Service

linux(RedHat,Centos)下(官方参考文档),运行以下命令注册为service,并设置为开机自动启动

ln -snf bin/activemq /etc/init.d/activemqchkconfig –add activemqchkconfig activemq on

然后就可以使用如下service命令了

service activemq start|stop|status|restart

 

Centos 7 Zabbix 3.0.5 install

 

yum install mysql php gcc mariadb-server

yum -y install net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath fping OpenIPMI-devel php-mbstring

 

useradd zabbix

passwd zabbix  zabbix

 

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.5/zabbix-3.0.5.tar.gz

tar –zxvf zabbix-3.0.5.tgz.gz

cd zabbix-3.0.5

./configure –prefix=/usr/local/zabbix/ –with-mysql –enable-server –enable-agent –with-net-snmp –with-libcurl –with-libxml2 –with-unixodbc –with-ssh2 –with-openipmi –with-openssl –with-iconv=/usr/local/libiconv

Make install

Cd /var/www/html
mkdir zabbix

cp -R /home/zabbix-3.0.5/frontends/php/*  /var/www/html/zabbix/

chown apache:apache –R html

yum install mysql-devel

yum install libxml2-devel

yum install unixODB*

yum install libssh*

yum install libcurl*

yum install php-mysql

 

修改root密码

mysqladmin -u root password 123456

systemctl start mariadb

 

创建DB:

create database zabbix default charset utf8;

##授权

Mysql –uroot –p123456

>create user ‘zabbix’@’10.0.1.29′ identified by ‘zabbix';  //本机IP,可以换成localhost

>grant all on zabbix.* to zabbix@10.0.1.29  identified by ‘zabbix';

##重新加载权限

flush privileges;

 

进入源码包路径:

/home/zabbix-3.0.5/database/mysql

导入数据库

mysql -uzabbix -pzabbix zabbix < schema.sql

mysql -uzabbix -pzabbix zabbix < images.sql

mysql -uzabbix -pzabbix zabbix < data.sql

 

添加zabbix环境变量

Vi /root/.bash_profile

 

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

 

# User specific environment and startup programs

 

#PATH=$PATH:$HOME/bin

PATH=/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/:$PATH:$HOME/bin

 

export PATH

 

修改zabbix配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf  ,写入:

LogFile=/var/log/zabbix_server.log

DBHost=10.0.1.29

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

#DBSocket=/var/lib/mysql/mysql.sock

DBPort=3306

Timeout=30

AlertScriptsPath=/usr/local/zabbix/alertscripts

LogSlowQueries=3000

修改权限复制添加启动脚本

chown -R zabbix:zabbix /usr/local/zabbix/

cp /usr/local/src/zabbix-3.0.5/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server

cp /usr/local/src/zabbix-3.0.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

 

 

修改php.ini参数

vim /usr/local/php/etc/php.ini

#修改如下部分参数

post_max_size 16M

max_execution_time 300

max_input_time 300

date.timezone=Asia/Shanghai    //date.timezone = America/Los_Angeles

 

cd /var/www/html/zabbix/conf

创建 zabbix.conf.php 在/var/www/html/zabbix/conf/目录中, 写入内容:

<?php

// Zabbix GUI configuration file.

global $DB;

 

$DB[‘TYPE’]     = ‘MYSQL';

$DB[‘SERVER’]   = ‘10.0.1.29’;

$DB[‘PORT’]     = ‘3306’;

$DB[‘DATABASE’] = ‘zabbix';

$DB[‘USER’]     = ‘zabbix';

$DB[‘PASSWORD’] = ‘zabbix';

 

// Schema name. Used for IBM DB2 and PostgreSQL.

$DB[‘SCHEMA’] = ”;

 

$ZBX_SERVER      = ‘10.0.1.29’;

$ZBX_SERVER_PORT = ‘10051’;

$ZBX_SERVER_NAME = ‘10.0.1.29’;

 

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

?>

 

启动:

/usr/local/zabbix/sbin/zabbix_server start

Service httpd restart

 

开启权限:

/usr/sbin/getsebool -a|grep httpd_can_network_connect

setsebool -P httpd_can_network_connect on

setsebool httpd_can_network_connect_db on

 

访问测试。

RedisLive安装监控redis

RedisLive是由python编写的并且开源的图形化监控工具,非常轻量级,核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的监控服务,界面上只有一个基于BootStrap的web界面,非常简洁明了。除此之外,它还支持多实例监控,切换方便,而且配置起来也非常容易。监控信息支持redis存储和持久化存储(sqlite)两种方式.

yum install python-pip

yum install git

git clone https://github.com/kumarnitin/RedisLive.git

如果2.7版本,直接

Pip install requestments.txt

如果2.6的版本:

pip install redis

pip install python-dateutil

pip install argparse

pip install tornado==2.1.1

最好都指定版本,这里最大影响的是tornado,所以单独指定了版本,其他没问题。

 

配置redis-live.conf

 

{

“RedisServers”:

[

{

“server”: “10.1.36.138”,

“port” : 6381

},

{

“server”: “10.1.36.138”,

“port” : 6382

},

{

“server”: “10.1.36.138”,

“port” : 6383

},

{

“server”: “10.1.36.138”,

“port” : 6384

},

{

“server”: “10.1.36.138”,

“port” : 6385

},

{

“server”: “10.1.36.138”,

“port” : 6386

}

 

],

 

“DataStoreType” : “sqlite”,      #sqlite or redis ,对应以下的配置,配置一个就可以。

 

“RedisStatsServer”:

{

“server” : “10.1.36.138”,

“port” : 63890

},

 

“SqliteStatsStore” :

{

“path”:  “db/redislive.sqlite”   #路径必须是这个,否则报OperationalError: no such table: info

}

}

启动:

Cd    src

./redis-monitor.py –duration=30  & #间隔30秒

nohup ./redis-live.py >/dev/null &

访问:

http://10.1.36.138:8088/index.html#

默认端口是8888,可以自定义,这边我自己修改了一个端口8088.

 

定时运行监控收集脚本,因为这个脚本到30秒后会自动退出,显示shutting down:

*/5 * * * * cd /home/app/RedisLive/src; ./redis-monitor.py –duration 30 >/dev/null 2>&1
以下来自互联网:

  1. “DataStoreType” 虽然设置为”sqlite”,但是”path”属性设置有问题。开始以为随便指定一个有效path就ok了,后来redis-live.py的log中发现了“OperationalError: no such table monitor”的提示。于是用sqlite3命令查看指定path下的sqlite文件,果然找不到名称为monitor的表。再一查找,在src/db下看到一个sqlite文件,里面有monitor和info表,这也是RedisLive监控的两大方面,看来作者已经提供了一个库模板了。可以将path指定为该文件的路径,也可以复制该文件到其它路径,然后设定path为新的路径。
  1. www.google.com不能访问的问题。上述path问题解决后,发现还是看不到曲线图。于是查看index.html源码,发现了一行(59行)<script type=”text/javascript” src=”https://www.google.com/jsapi”></script>。呵呵,最近google一直不能访问,看来就是因为不能下载到google的jsapi,所以看不到曲线图了。于是通过代理来访问RedisLive的index.html,果然看到了令人期待曲线图。