/ Sylinx / 阿里云主机使用笔记-环境搭建(1)

阿里云主机使用笔记-环境搭建(1)

2013-01-15 posted in [专题]

申请开通下云主机,我这里操作系统选择的是redhat5.4 64位。我们系统都是用java编写,所以web服务器和应用容器采用 nginx+jetty。 常用软件均安装在/usr/soft/install下,链接到/usr/soft/,这样以后更新install目录下的软件版本,只要更新下链接就可。

系统安装初始化后,需要设置下更新源,在/etc/yum.repos.d/ 下新建 CentOS-Base.repo(具体内容见此),然后执行

 yum update

防火墙配置

清空和设置防火墙脚本如下:

/usr/soft/sh/flush-iptables (清空)
/usr/soft/sh/setup-iptables(设置防火墙规则)

执行以上两个脚本后,/etc/rc.d/init.d/iptables save 保存下iptables配置。启动和关闭防火墙

service iptables start
service iptables stop
service iptables status

安装常用软件

可以通过以下命令查找并安装常用软件,如安装lftp

yum list|grep lftp
yum install lftp.x86_64

常见的zip、unzip装上

安装nginx

安装编译环境

yum -y install gcc automake autoconf libtool make
yum -y install pcre-devel openssl openssl-devel

编译nginx

cd /usr/soft/install
wget http://nginx.org/download/nginx-1.0.14.tar.gz
tar xvf nginx-1.0.14.tar.gz
cd nginx-1.0.14
./configure --prefix=/usr/soft/install/nginx
make  & make install 

建立软链接

ln -s /usr/soft/install/nginx /usr/soft/nginx

nginx80端口非ROOT用户授权

chmod u+s /usr/soft/nginx/sbin/nginx

测试nginx

/usr/soft/nginx/sbin/nginx -t -c /usr/soft/nginx/conf/nginx.conf

安装java

到http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download- 1501634.html 下载 jdk-6u31-linux-x64-rpm.bin,放到/usr/soft/install下,然后执行./jdk-6u31-linux-x64-rpm.bin

建立软链接

ln -s /usr/java/jdk1.6.0_31 /usr/soft/java

测试是否正常安装

/usr/soft/java/bin/java -version

安装jetty

下载JETTY

wget http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/7.2.2.v20101205/
jetty-distribution-7.2.2.v20101205.tar.gz  

直接解压安装

tar xvf jetty-distribution-7.2.2.v20101205.tar.gz    
ln -s /usr/soft/install/jetty-distribution-7.2.2.v20101205 /usr/soft/jetty

解决TIME_WAIT过多问题

nginx代理使用短链接的方式和后端jetty交互,会使TIME_WAIT变得比较多,解决方法如下:

编辑/etc/sysctl.conf文件,加入以下内容: >net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800
# Turn off tcp_window_scaling
net.ipv4.tc\p_window_scaling = 0
# Turn off the tcp_sack
net.ipv4.tcp_sack = 0
#Turn off tcp_timestamps
net.ipv4.tcp_timestamps = 0
vm.swappiness = 10

然后执行 /sbin/sysctl -p 让参数生效,重启下网络 service network restart

另外需要在 /etc/rc.d/rc.local里添加已使得重启的时候生效 >echo “30”>/proc/sys/net/ipv4/tcp_fin_timeout
echo “1800”>/proc/sys/net/ipv4/tcp_keepalive_time
echo “0”>/proc/sys/net/ipv4/tcp_window_scaling
echo “0”>/proc/sys/net/ipv4/tcp_sack
echo “0”>/proc/sys/net/ipv4/tcp_timestamps

设置limits.conf

vi /etc/security/limits.conf, 增加或者放开修改如下:

* - nofile 10240

同步时间

我购买那会儿较早,云主机服务器时间同步有问题,经常跑得比较快,因此用如下脚本手工或者crontab定时同步

service ntpd stop
ntpdate ntp.api.bz