VPS上手后的一些必要设置

转自hostloc,原作者:wjhhxl
新VPS上手后的一些必要设置

本人总结的。可能还有遗漏,
欢迎大家补充

以下是在LNMP环境下设置 其他环境可能稍有不同,

一:Mysql禁用日志 (可选,如果你觉得日志对你来说没有用,建议禁用)
在/etc/my.cnf
把 #log-bin=mysql-bin
#binlog_format=mixed
这两行注释掉

二 修改nginx的进程数量 在 /usr/local/nginx/conf/nginx.conf
一般不用修改,如果你的VPS给了你双核,可以修改worker_processes 值 为2

三 修改php-cgi的进程数量 在 /usr/local/php/etc/php-fpm.conf
修改 12 一般256M内存,大概可以设为12个

四 修改最大同时连接文件数
系统默认是1024,最好改大些
使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。
新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。
使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)
有如下三种修改方式:
1.在/etc/rc.local 中增加一行 ulimit -SHn 65535
2.在/etc/profile 中增加一行 ulimit -SHn 65535
3.在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65535
* hard nofile 65535
具体使用哪种,试试哪种有效吧,我在 CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果

五 更改ssh端口 编辑/etc/ssh/sshd
默认为22 建议修改
建议先增加一个端口号,待确认可以连接后,再删除22端口

六 修改ROOT密码
用ROOT账号登录SSH后,输入passwd 然后再输入二次新密码
建议设为9位数以上,英文数字字符组合

Posted in 学习. 评论暂缺 »

centos 下安装dropbear来代替openssh

OpenSSH占用内存较大是个问题,对于多开ssh账号来说有点费劲了,这里使用dropbear来代替咯
首先修改默认端口为其他的,以避免悲剧
然后需要安装
yum install zlib* gcc make
wget http://www.72xit.com/wp-content/uploads/ssh/dropbear-0.53.1.tar.gz
tar -xvzf dropbear-0.53.1.tar.gz
cd dropbear-0.53.1
./configure
make && make install
生成证书
mkdir /etc/dropbear
/usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
/usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key
启动
/usr/local/sbin/dropbear

注意,使用dropbear 创建无登陆权限的账户只能使用
useradd usernaem -s /bin/nologin
这个来创建,我测试是这样的。暂时没时间去研究了。

添加开机启动
echo “/usr/local/sbin/dropbear” >> /etc/rc.local

Posted in 学习. 评论暂缺 »

使用yum来搭建php环境

一:安装apache
yum -y install httpd httpd-devel
二:安装mysql
yum -y install mysql mysql-server mysql-devel
service mysqld start
三:安装php
yum -y install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
service httpd restart
设置服务启动
chkconfig httpd on
chkconfig mysqld on

Posted in 学习. 评论暂缺 »

iptables 开启端口

/etc/init.d/iptables status
查看防火墙信息,可以看到打开的端口。
那么我们把需要使用的端口打开应该是一个比较可行的办法了,
命令如下:
/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT #8080为指定端口
/etc/rc.d/init.d/iptables save
#将更改进行保存
/etc/init.d/iptables restart
#重启防火墙以便改动生效,当然如果不觉得麻烦也可重启系统(命令:reboot)
当然了,还有另外直接在/etc/sysconfig/iptables中增加一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

永久关闭防火墙
chkconfig –level 35 iptables off #此方法源自网络,未实验,安全考虑拒绝使用此方法

Posted in 学习. 评论暂缺 »

创建无登陆权限的SSH账户

手上有很多vps,服务器,有朋友需要一些特殊需求,具体不说啦,哈哈,那么就给他们开号吧,不用登陆权限即可。:)

useradd 用户名 -s /bin/false
passwd 用户名

OK啦 快翻呀~!

Posted in 学习. 评论暂缺 »

centos 下修改ssh默认端口

22这个端口都快成公共汽车了,那么就来修改一下吧

1
vi /etc/ssh/sshd_config

修改Port 22为其他你喜欢的端口号,
然后 service sshd restart 就可以使用新端口登陆了。
风险性,新手最好不要乱试。 本地连接工具有可能没有足够的缓冲区在新端口,可能出现工具自动关闭情况,请放心,指令可以连接。

Posted in 学习. 评论暂缺 »

PPTPD一键安装包

系统要求:CentOS 5 32bits/64bits。

使用方法:

wget http://www.diahosting.com/dload/pptpd.sh
sh pptpd.sh
安装完成后会提示vpn用户名和密码。

VPN用户管理:
直接编辑/etc/ppp/chap-secrets文件,按照相同格式添加用户名和密码即可。

#允许转发,编辑/etc/sysctl.conf,看一下net.ipv4.ip_forward参数是不是1,或直接执行以下命令来查看

sysctl net.ipv4.ip_forward

如果输出为 0 的话就要修改 /etc/sysctl.conf 中的 net.ipv4.ip_forward ,把 0 改为1,然后执行以下命令。

sysctl -p

增加一个用户,编辑/etc/ppp/chap-secrets,在下面增加类似的条目:

username pptpd password *

# 重启pptpd服务

/etc/init.d/pptpd restart

Posted in 学习. 评论暂缺 »

OpenVZ 安装 PPTP 完全版教程

首先,我们必须要知道自己的VPS是否支持PPTP,如果你根据现在网上的那些教程做的话,那么你的第一步就是错的了。

1
2
3
4
cat /dev/ppp
cat: /dev/ppp: No such device or address
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

如果你的结果和我一样的话,那么就继续往下看吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
yum install -y ppp
yum install -y iptables
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm(X86)
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm(X64)
vi /etc/pptpd.conf
# localip 192.168.0.1 -> localip 192.168.0.1
# remoteip 192.168.0.234-238,192.168.0.245 ->remoteip 192.168.0.234-238,192.168.0.245
vi /etc/ppp/options.pptpd
# ms-dns 192.168.0.1 -> ms-dns 8.8.8.8
# ms-dns 192.168.0.2 -> ms-dns 8.8.4.4
require-mppe-128 -> # require-mppe-128
vi /etc/ppp/chap-secrets
用户名 pptpd 密码 *
vi /etc/sysctl.conf
net.ipv4.ip_forward = 0 -> net.ipv4.ip_forward = 1
net.ipv4.tcp_syncookies = 1 -> # net.ipv4.tcp_syncookies = 1
sysctl -p
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你的VPS的IP
/etc/init.d/iptables save
chkconfig pptpd on
chkconfig iptables on
/etc/init.d/pptpd restart
/etc/init.d/iptables restart

现在你已经可以使用PPTP了,如果你连接的时候出现619错误的话。

1
2
rm -r /dev/ppp
mknod /dev/ppp c 108 0
Posted in 学习. 评论暂缺 »

VPS网页服务器环境安装脚本『LEB中文增强版』

LEB网站站长写了一个很有名的vps生产环境安装脚本,因为能很方便在便宜低配置vps上快速安装debian+nginx+mysql+php生产环境,在网上流传很广。很多中国站长针对自己的需要,在这个脚本的基础上进行了修改。
我修改的这个版本主要有以下特点:
1、nginx,mysql,php全部安装最新稳定版,如nginx是0.85版的,leb原版的脚本nginx版本还是0.6版;
2、增加了typecho 0.8(轻量级简洁易用中文博客程序)中文版一键安装命令;
3、增加了wordpress中文版3.03一键安装命令;
4、增加phpmyadmin(数据库管理)中文版一键安装命令;
5、增加只添加网站域名,不安装网站程序(适用全静态网站或者自主添加程序)一键安装命令;
6、增加常用好记命令,方便我这等小白懒人。如nginxchongqi就是执行重启nginx命令。
7、软件全部官方下载deb安装,没有任何私货。
———2010年12月30日增加功能———————————————————————
8、增加了开设ssh无shell帐号(不能登录只能代理上网)一键命令,可以开了给朋友或者出售;
9、增加开设正向代理(也就是用在浏览器http代理)一键命令。
—————2010年12月31日再次更新——————–
请看 『新年献礼』挨个搞 vps超省资源全能一键安装包再次更新

使用很简单,在你的vps控制面板安装debian 32位系统之后,root进入vps,即可下载脚本使用。
下载脚本:
wget http://linux-bash.googlecode.com/files/debian-actgod-vps.sh
使用下面命令的作用分别是:
优化系统,如删除默认的apache,ssh等,用更轻量级的软件代替,全面升级系统:
bash debian-actgod-vps.sh system
替换更轻量级邮件系统,使php等也可以使用发送邮件函数:
bash debian-actgod-vps.sh exim4
安装nginx最新稳定版:
bash debian-actgod-vps.sh nginx
安装mysql数据库:
bash debian-actgod-vps.sh mysql
安装最新稳定版php:
bash debian-actgod-vps.sh php
安装最新wordpress英文版,自动生成数据库以及用户名和密码:
bash debian-actgod-vps.sh wordpressen yourdomain
安装tpyecho轻量级中文博客,自动生成数据库以及用户名和密码,并显示:
bash debian-actgod-vps.sh typecho yourdomain
安装wordpress最新中文版,自动生成数据库以及用户名和密码:
bash debian-actgod-vps.sh wordpress yourdomain
安装phpmyadmin最新中文版
bash debian-actgod-vps.sh phpmyadmin yourdomain
添加一个域名,不安装任何程序,方便直接放html等全静态网站或者自行安装网站程序(也就是常说的虚拟主机):
bash debian-actgod-vps.sh vhost yourdomain
举例说明:如你的域名是actgod.com,把上面yourdomain换成actgod.com,输入以下命令即可安装wordpress中文最新版
bash debian-actgod-vps.sh wordpress actgod.com
安装typecho和wordpress英文版也是同样替换。安装phpmyadmin最好使用一个专门的二级域名,如phpmyadmin.actgod.com。如果和博客程序放一起,nginx的改写规则有时候会弄乱。只需要安装一次,就可以管理该vps上所有域名的数据库。
数据库root密码查看命令:
cat /root/.my.cnf
数据库root密码修改命令,如把原本密码abcd1234改成abcd5678:
/usr/bin/mysqladmin -u root -p password abcd5678
然后根据提示输入原密码abcd1234认证即可。
查看wordpress和typecho数据库用户名和密码,数据库名、用户名和密码保存在/root下对应域名的txt文档中:
cat /root/youdomain.myslq.txt
如你的博客对应域名是blog.actgod.com,则输入命令:
cat /root/blog.actgod.com.myslq.txt
就可以看到数据库名、用户名和密码。这个在新装typecho,重装系统或者搬家的时候用的到。wordpress会自动配置好,基本用不到这个。

因为有些linux命令平时很少用到,但命令本身又不是很好记,或者一时记得又忘记了。但是时不时的又会用上,用linux历史命令功能要翻半天,这个时候好记命令就用的上了。
比如有时候改了nginx的配置文件,要重启或者重载配置文件,正常的命令是
invoke-rc.d nginx reload
或者
invoke-rc.d nginx restart
不是很好记吧,反正我这样的小白懒人接触linux vps有大半年了,每次输入还是要想半天,或者干脆从本地粘贴复制。
这个脚本简化了这个命令,要重启nginx,只需要输入:
nginxchongqi
什么?nginx也记不住?那好办,top你总记得住吧,输入top命令后,按下q退出就可以看到正在运行的程序名字,照抄程序名字,后面加上你要的命令,就可以了。
要启动这个功能,请先输入命令:
source ~/.bashrc
全部好记命令如下:
nginxchongqi #重启nginx等于 invoke-rc.d nginx restart
nginxtingzhi #停止nginx等于 invoke-rc.d nginx stop
nginxqidong #启动nginx 等于 invoke-rc.d nginx start

phpchongqi #重启php等于 invoke-rc.d php-cgi restart
phptingzhi #停止php等于 invoke-rc.d php-cgi stop
phpqidong #启动php 等于 invoke-rc.d php-cgi start

mysqlchongqi #重启php等于 invoke-rc.d mysql restart
mysqltingzhi #停止php等于 invoke-rc.d mysql stop
mysqlqidong #启动php 等于 invoke-rc.d mysql start

网站程序和文件都放在/var/www下对应的域名文件夹中
nginx的配置文件在/etc/nginx/nginx.conf
各个域名的单独配置文件对应/etc/nginx/sites-enabled文件夹中相应域名的conf文件

########2010年12月30日增加功能#####################
开设一个帐号供ssh代理上网专用,也就是没有shell权限,不能用这个帐号登录vps进行任何操作,只能用来代理上网:
bash debian-actgod-vps.sh ssh 帐号名 密码
举例说明:你要开一个帐号名为actgod,密码是cccc的帐号,则输入:
bash debian-actgod-vps.sh ssh actgod cccc
开设一个正向代理,也就是浏览器上设置的http代理:
bash debian-actgod-vps.sh httpproxy 端口号
举例说明:如果你的vps ip是123.456.123.123,要开一个http代理端口号是55521:
bash debian-actgod-vps.sh http 55521
然后你在ie浏览器(工具-internet选项-连接-局域网设置)中选上代理服务,ip地址填123.456.123.123,端口填55521,即可用此ip代理上网。请注意,不要公开这个代理,因为此代理没有任何验证,一旦公开,你的vps流量将很快用完。使用完毕之后建议立即更改成其他端口,免得被别人扫描到。

其他功能将陆续添加,如挂qq一键命令。

Posted in 学习. 评论暂缺 »

Debian系统vps架设socks5

——继续拓展debian系统vps的应用。

虽然在本地plink开一个ssh代理,也是s5代理,但是毕竟需要一个客户端,不能直接使用,于是想到自己架设s5服务器。
在网上搜下了教程,都是适合在centos上使用的ss5。愚钝的我,在debian上编译多次,都不能成功。

于是找到kingate这么一个socks5代理服务器,这个软件是国人写的,有详细的使用手册,同时支持socks5,http代理等多种代理类型。 地址:http://sourceforge.net/projects/kingate/
下载编译,竟然一次成功,更可贵的是支持简单的web管理。这里向大家推荐下。
使用说明手册在他的源码包里面。这里我贴出我的安装步骤。 84,ds,hostrail,buyvm,nordicvps等都安装成功。
apt-get -y -q install automake make gcc g++
wget http://nchc.dl.sourceforge.net/project/kingate/kingate/2.0/kingate-2.0.tar.gz
tar xzf kingate-2.0.tar.gz
cd kingate-2.0
./configure –prefix=/etc/kingate
make install
根据我的安装路径,kingate的部分文件:
/etc/kingate/bin/kingate kingate主程序(windows版本就是kingate.exe)
/etc/kingate/var/kingate.log kingate的日志文件(要求kingate运行用户有读写权限)
/etc/kingate/etc/kingate.conf kingate的配置文件
/etc/kingate/etc/kingate.user kingate的用户文件(要求kingate运行用户有读写权限)
/etc/kingate/etc/access.conf kingate的访问控制文件
配置文件在/etc/kingate/etc/kingate.conf
看下,配置还是很简单明了的。说几点我自己的体验:
1、建议关闭socks5代理之外的所有的代理,因为s5代理号称万能代理,有一个socks5代理,其他代理能干的活,s5都能干。
2、另外建议,将配置文件中的log_level 改成0,不然你用代理较多,或者有意无意公布到网上,这个日志的容量将急剧增加。
3、将socks5的端口改到10000以上,免得被轻易扫到。
4、配置文件中每行后面都有^m,这个是windows的换行符到linux下的表现,保留或者删除,并不影响。

安装完成后,启动kingate:
/etc/kingate/bin/kingate
其他kingate命令:
/etc/kingate/bin/kingate 启动kingate
/etc/kingate/bin/kingate -f 强行启动kingate
/etc/kingate/bin/kingate -h 查看kingate用法
/etc/kingate/bin/kingate -q 关闭kingate
/etc/kingate/bin/kingate -v 查看kingate版本
最后,把kingate添加到随机启动:
sed -i ’2a /etc/kingate/bin/kingate’ /etc/rc.local
该软件大概占用15m的内存。
我写了一个自动安装的脚本,默认是关闭http代理,关闭web管理,只保留s5代理,端口改成55555,关闭用户认证的。因为只是自己用,所以开的端口越少越好。如果你需要其他的功能,请对照官方手册和配置文件自行修改。
修改完了,记得要重启kingate才能生效哦~

自动安装脚本很简单,两句命令搞定:
wget http://linux-bash.googlecode.com/files/kingate.sh
bash kingate.sh

Posted in 学习. 评论暂缺 »