前段时间发表了2篇文章,都提到了负载均衡的,偶然间看见小夜写了关于负载均衡的文章;确实觉得不错,就整理下,然后搬过来给大家看看;
对于想省钱的朋友;比较建议的是,自己学习下linux的操作方法;这样求人不如求己;
我个人比较推荐经典数据《鸟哥linux私房菜》;该书可以在网站百度下;
也提供了下载地址:
学习linux配置的视频教程;鸟哥的Linux私房菜第2版和配套视频,另有第三版
配套书籍下载地址([鸟哥的Linux私房菜:基础学习篇(第二版)].鸟哥.
(扫描版.pdf)
http://kuai.xunlei.com/d/XHMTCUKEGQLC
鸟哥的Linux私房菜_服务器架设篇(第二版)
http://kuai.xunlei.com/d/XKXRQFIZYLKO
鸟哥私房菜第2版视频:
视频下载地址:
http://kuai.xunlei.com/d/XFACLZPTXLXH
http://kuai.xunlei.com/d/XJCUDSGLQQHC
鸟哥的Linux私房菜基础学习篇(第三版)PDF
http://kuai.xunlei.com/d/XFOEKMWABULJ
另外一篇文章是关于选购云主机的建议:
http://bbs.aliyun.com/read.php?tid=114809
在写文章之前先放链接给大家
这个是专门研究Nginx源码的中文资料建议大家看看
http://code.google.com/p/nginxsrp/wiki/NginxCodeReview
===============接下来我就把整理的资料发给大家了==================
只提供简单应用,自动更新等操作不讲解
最简单的脚本,容易学会到渣
配置完成后,需要刷新nginx配置,以下2条命令都可以:
/root/lnmp reload
/etc/init.d/nginx reload
一、最简单的反向代理脚本(只要修改2个网址,存成conf文件放置于vhost下):
server
{
listen 80;
server_name www.yunshancheng.com;
location / {
proxy_pass http://bbs.yunshancheng.com;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
二、最简单的前端全缓存,反向代理脚本
最简单的一个nginx前端全缓存,后端反向代理脚本。无法自动更新,无法均衡负载。贵在简单,一眼即懂。适用于lnmp环境。可以短暂解决一下简单的CC攻击
#新建2个目录,放置缓存文件:
mkdir /home/cache/path
mkdir /home/cache/temp
修改 /usr/local/nginx/conf/nginx.conf 新增以下代码,主要是缓存相关设置,请放置于 http{ ##这里 } 中,一般加在 log_format 上面或下面均可:
client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/cache/temp;
proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:500m inactive=7d max_size=30g;
#500m是内存占用,7d是7天无访问删除,30g是缓存占具硬盘空间
以下为虚拟主机配置文件,可另存成 .conf 放置于 vhost 下面:
server
{
listen 80;
server_name www.yunshancheng.com; #主机名
location / {
proxy_cache cache_one;
proxy_cache_valid 200 304 3d; #正常状态缓存时间3天
proxy_cache_key $host$uri$is_args$args;
proxy_pass http://bbs.yunshancheng.com; #反代的网站
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
expires 10d; #默认10天缓存
access_log /home/wwwlogs/yunshancheng.log access; #日志文件
}
}
点击几下网站,df -sh 命令,查看 /home/cache 目录大小,即可测试是否缓存成功。此脚本为前端全缓存,后端动态更新后,前端不会自动修改。可手动清理cache目录下文件。这个方法,可以用纯静态的形式来防CC,如果你的动态博客,受到CC攻击,可以尝试一下。
Nginx性能优化:worker_cpu_affinity
Nginx性能优化CPU参数worker_cpu_affinity使用说明
如果2核心:
worker_processes 2;
worker_cpu_affinity 0101 1010;
如果是4核心:
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
linux如何查看当前系统
一行很简单的命令,就可以让立刻知道,是centos还是ubuntu,还是debian。
cat /etc/issue
centos 5 yum安装与配置vsFTPd FTP服务器
vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。
什么是vsftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
安装vsftpd
1、以管理员(root)身份执行以下命令
1 yum install vsftpd
2、设置开机启动vsftpd ftp服务
2 chkconfig vsftpd on
3、启动vsftpd服务
3 service vsftpd start
管理vsftpd相关命令:
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
配置防火墙
打开/etc/sysconfig/iptables文件
4 vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
5 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙
6 service iptables start
配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
7 vi /etc/vsftpd/vsftpd.conf
添加ftp用户
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
1、修改/etc/vsftpd/vsftpd.conf
将底下三行
8 #chroot_list_enable=YES
9 # (default follows)
10 #chroot_list_file=/etc/vsftpd.chroot_list
改为
11 chroot_list_enable=YES
12 # (default follows)
13 chroot_list_file=/etc/vsftpd/chroot_list
3、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
14 useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、设置用户口令
15 passwd ftpuser
5、编辑文件chroot_list:
16 vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
peter
john
6、重新启动vsftpd
17 service vsftpd restart
另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
Linux vsftpd编译安装和配置允许本地用户登录FTP
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。下面我们一步一步介绍如何编译安装vsftpd和配置。
1、下载vsftpd源码
1 wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz
2、编译vsftpd源码
64位的系统编译之前先要执行cp /lib64/libcap.so.1 /lib/libcap.so.1命令:
2 tar xzvf vsftpd-2.3.4.tar.gz
3 cd vsftpd-2.3.4
4 make
5 make install
3、配置vsftpd
6 cp vsftpd.conf /etc
7 cp RedHat/vsftpd.pam /etc/pam.d/ftp
8 sed i 's/anonymous_enable/#anonymous_enable=YES/g' /etc/vsftpd.conf
9 sed i 's/#local_enable=YES/local_enable=YES/g' /etc/vsftpd.conf
10 sed i 's/#write_enable=YES/write_enable=YES/g' /etc/vsftpd.conf
11 sed i 's/#local_umask=022/local_umask=022/g' /etc/vsftpd.conf
12 sed i 's/#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd.conf
4、启动vsftpd并设置开机启动
13 /usr/local/sbin/vsftpd &
14 sed -i '$a\/usr/local/sbin/vsftpd &' /etc/rc.d/rc.local
5、添加FTP用户(用户名:ftpuser ftp根目录/home/wwwroot/ftpuser)
15 useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser