海运的博客

Nginx安装字符替换模块substitutions_filter

发布时间:April 22, 2012 // 分类:Nginx // No Comments

substitutions_filter是Nginx的一个扩展模块,用来搜索并替换应答内容中的文本,配合nginx的反向代理有妙用哦。
添加此模块需重新编译Nginx,LNMP编译升级请参考:LNMP平滑升级
首先获取substitutions_filter:

yum -y install subversion
svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only

编译Nginx时添加:

./configure --add-module=/path/substitutions4nginx-read-only

使用语法:

subs_filter 源字符 目标字符 [gior] 
#g:替换全部
#o:替换首个
#i:不区分大小写
#r:使用正则替换

使用范例:

location / {
    subs_filter_types text/html text/css text/xml; #替换的文件类型
    subs_filter st(\d*).onovps $1.www.haiyun.me ir; #
    subs_filter www.haiyun.me www.haiyun.me;
}

注意:开启GZIP后不能替换,需关闭:

proxy_set_header Accept-Encoding "";

Nginx配置透明代理缓存服务器

发布时间:April 22, 2012 // 分类:Nginx // 5 Comments

之前有介绍过Squid构建透明代理缓存服务器Nginx就比较全能了,做为透明代理也不错。
修改Nginx配置文件,在http段添加:

proxy_cache_path /path/proxy_cache levels=1:2 keys_zone=cache_one:30m inactive=10d max_size=10g;
#定义缓存名称cache_one,2级目录,内存缓存30M,硬盘10G,10未访问内容删除
proxy_temp_path /path/proxy_tmp;

server段配置:

server {
    listen 3128;
    resolver 8.8.8.8;
    proxy_cache cache_one;
    proxy_max_temp_file_size 10m;
 
    location / {
        proxy_pass http://$host$request_uri;
        proxy_connect_timeout   60;
        proxy_send_timeout     60;
        proxy_read_timeout     60;
    }
        
         location ~ .*\.(php|jsp|cgi|asp)?$ {
                 proxy_pass http://$host$request_uri;
               }
}

Iptables配置:

iptables -t nat -A PREROUTING -i br-lan -p tcp  --dport 80 -j REDIRECT --to-ports 3128

固定NFS启动端口便于iptables设置

发布时间:April 22, 2012 // 分类:Linux服务 // No Comments

NFS启动时会随机启动多个端口并向RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。
先上张图看看NFS启动后的端口:
nfs-port.png
分配端口,编辑配置文件:

vi /etc/sysconfig/nfs 

添加:

#https://www.haiyun.me
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

重启portmap和nfs:

/etc/init.d/portmap restart
/etc/init.d/nfs restart

现在看看启动的端口:

rpcinfo -p localhost

2012-04-22_185346.png
iptables设置:

iptables -A INPUT -s 192.168.1.1 -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p udp --dport 30001:30004 -j ACCEPT

Linux/Centos7/ubuntu下安装配置NFS文件服务器

发布时间:April 22, 2012 // 分类:Linux服务 // No Comments

NFS即网络文件服务器,可以挂载管理远程主机上的文件如本地一般,特殊场合应用很方便。
CentOS下安装:

yum -y install nfs-utils

ubuntu安装:

apt install nfs-kernel-server

配置共享目录:

vim /etc/exports 
/tmp  192.168.1.0/24(rw,sync,fsid=0,no_root_squash,no_subtree_check)
#定义目录tmp,主机192.168.1.0/24可连接,有读写权限。
#fsid=0,此目录为虚拟根目录,挂载时路径填写/即可。
#默认root连接会压缩成匿名用户,如需保持root权限请添加no_root_squash参数。
#no_subtree_check,不检查父目录权限
#如/tmp   192.168.1.0/24(rw,no_root_squash)

启动NFS,NFS4不需要rpcbind。

systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs-server
systemctl start nfs-server

查看当前共享参数:

showmount -e localhost
Export list for localhost:
/tmp 192.168.1.0/24*

或者:

exportfs

修改exports配置文件后重新生效:

exportfs -a

远端主机挂载共享目录:

mount -t nfs 192.168.1.1:/tmp /mnt
#默认当nfs服务器不在线时客户端会一直尝试连接,可设置重试次数。
#-o soft,retry=30

查看nfs状态:

#服务器端
nfsstat -s
#客户端
nfsstat -m

开启nfs调试日志,保存在/var/log/message,ubuntu在/var/log/syslog

#服务器端
rpcdebug -m nfsd -s all
#客户端
rpcdebug -m nfs -s all

关闭:

rpcdebug -m nfs -s all
rpcdebug -m nfsd -s all

NFS服务器Iptables防火墙配置:https://www.haiyun.me/archives/centos-nfs-port.html

Xenserver挂载ISO存储

发布时间:April 22, 2012 // 分类:虚拟化 // No Comments

XenServer可挂载ISO光盘安装系统或做为Livecd、PE使用,挂载ISO存储有三种方法,各有优劣。
1.新建目录并挂载为ISO存储,此方法最为简单,不过Xenserver系统剩余空间有限。

mkdir /iso #新建目录
xe sr-create name-label=boot-iso type=iso device-config:location=/iso/Win_pe_iso/ device-config:legacy_mode=true content-type=iso #新建ISO存储
xe-mount-iso-sr /iso/ #挂载存储

2.新建LV卷,可自定义大小,稍复杂。

 vgdisplay #先查看剩余空间,新建LV不要大于
lvcreate -L 20GB -n iso VG_XenStorage-3aad96c1-a78c-022d-1e9b-a3292ce54067 #新建lv卷iso
mkfs.ext3 /dev/VG_XenStorage-3aad96c1-a78c-022d-1e9b-a3292ce54067/iso #格式化为ext3格式
mkdir /iso 
xe sr-create name-label=myiso type=iso device-config:location=/iso device-config:legacy_mode=true content-type=iso #创建ISO存储
vgchange -a y #激活所有卷组
mount /dev//dev/VG_XenStorage-3aad96c1-a78c-022d-1e9b-a3292ce54067/iso /iso #挂载

3.使用Linux系统NFSWindows系统网络共享挂载ISO,要在别的服务器上安装NFS服务器或开启网络共享,最为复杂,不过一劳永逸,多台XenServer可以共用网络挂载的ISO存储,推荐此方式。

xe-mount-iso-sr https://www.haiyun.me:/path
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...