Category Archives: Server

CentOSでvncserverをインストール

1.vncserverをインストール
yum install tigervnc-server

2.vncserverを実行してパスワードを設定
vncserver :1
パスワードを入力して相応ファイルを生成
vncstartnews24

3.ユーザを設定
vim /etc/sysconfig/vncservers
最後に次の内容を追記
VNCSERVERS=”1:root”

4.vncserverが再起動
service vncserver restart

5.クライアントに接続
CentOS:TigerVNC Viewerで「ip:1」に接続
Windows:Real VNC Viewerで「ip:1 」に接続
vnc client for windows

「svn 413 Request Entity Too Large 」エラーの解決対策

1.エラーメッセージ:
svn 413 Request Entity Too Large

2.解決対策
apacheの設定ファイルhttpd.confを修正する,次の内容を追記
LimitXMLRequestBody 0
LimitRequestBody 0

httpdが再起動

CentOSサーバーでファイアーウォール(iptables)の基本操作と設定方法

基本操作:

1.ファイアウォールの状態を確認
[root@localhost ~]# service iptables status

2.ファイアウォールを停止:
[root@localhost ~]# service iptables stop

3.ファイアウォールを起動:
[root@localhost ~]# service iptables start

4.ファイアウォールを再起動:
[root@localhost ~]# service iptables restart

5.ファイアウォールをオフにする:
[root@localhost ~]# chkconfig iptables off

6.ファイアウォールをオンにする:
[root@localhost ~]# chkconfig iptables on
7.ポートを開放:(例8080ポートの開放)
/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT #8080ポートを指定
/etc/rc.d/init.d/iptables save #変更を保存
/etc/init.d/iptables restart #変更を有効にするようにファイアウォールを再起動

/etc/sysconfig/iptablesに次の内容を追記
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

Nagios nrpeを使用してプロセスを監視するスクリプト

 1.nagios statusの表示 

STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3

2.Bashコード:
#!/bin/bash
fileName=’/etc/passwd’
fileLastModifyTime=`stat -c %y $fileName`
fileLastModifyTime_S=`stat -c %Y $fileName`
currentTime_S=`date +%s`
STATE_OK=0
STATE_CRITICAL=2
#compare date by seconds , check whether biger than 14400 seconds
#4時間以内にpasswdファイルが変更されているかどうかを確認
if [ $[ $currentTime_S – $fileLastModifyTime_S ] -gt 14400 ]
then
echo “$fileNameが4時間以内に変更しない”
exit ${STATE_OK}
else
echo “$fileNameが $fileLastModifyTimeに変更された”
exit ${STATE_CRITICAL}
fi
3.nrpe側の設定
nrpe.cfgにスクリプト内容を追加
command[check_passwd_modify]=/usr/local/nagios/libexec/check_passwd_modify

4.nagios側の設定
必要なserviceを追加
#add for passwd shadow file modify checking
nagiosコード:
define service{
use generic-service
host_name hostname
service_description check_passwd_modify
check_command check_nrpe!check_passwd_modify
max_check_attempts 2
normal_check_interval 3
notification_interval 5
contact_groups nagios
}

nginxでipv6サポートを有効に設定する

1.nginxがipv6をサポートするかどうかを確認
# /usr/local/nginx-1.7.0/sbin/nginx -V
nginx version: nginx/1.7.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
configure arguments: –prefix=/usr/local/nginx-1.7.0 –with-http_stub_status_module
「–with-ipv6」を追加して、nginxを再度コンパイルする

2.同時にipv4とipv6をリスナー
server {
….
listen [::]:80;

}

3.ipv6のみをリスナー
server {
….
listen [::]:80 default ipv6only=on;

}
4.指定されたIPアドレスをリスナー
server {
….
listen [3608:f0f0:3002:31::1]:80;

}

5.nginxが再起動
/usr/local/nginx-1.7.0/sbin/nginx -s reload

Symfonyをnginx+php5-fpmでrewrite ruleを設定する

設定コード:
server {
server_name arkgame.com www.arkgame.com;
root /data/site/www.arkgame.com;
location / {
# try to serve file directly, fallback to rewrite
try_files $uri @rewriteapp;
}
location @rewriteapp {
# rewrite all to app.php
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/(app|app_dev|config).php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock; # 対応したFastCGIを変更
fastcgi_split_path_info ^(.+.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
error_log /data/logs/nginx/www.arkgame.com_error.log;
}

CakePHPをnginx+php5-fpmでrewrite ruleを設定する

設定コード:
server {
listen 80;
server_name www.arkgame.com;
root /data/site/www.arkgame.com;
index index.php;
access_log /data/logs/nginx/www.arkgame.com_accerss.log;
error_log /data/logs/nginx/www.arkgame.com_error.log;
# main cakephp rewrite rule
location / {
try_files $uri $uri/ /index.php?$uri&$args;
}
location ~ .php$ {
root /data/site/www.arkgame.com;
try_files $uri =404;
fastcgi_pass unix:/tmp/php5-fpm.sock; # 対応したFastCGIを変更
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}

yii nginxの Rewiteルールを設定する

設定内容:
server {
set $host_path “/data/site/www.arkgame.com”;
access_log /data/logs/nginx/www.arkgame.com_access.log main;
server_name arkgame.com www.arkgame.com;
root $host_path/htdocs;
set $yii_bootstrap “index.php”;
# define charset
charset utf-8;
location / {
index index.html $yii_bootstrap;
try_files $uri $uri/ /$yii_bootstrap?$args;
}
# deny access to protected directories
location ~ ^/(protected|framework|themes/w+/views) {
deny all;
}
#avoid processing of calls to unexisting static files by yii
location ~ .(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
# prevent nginx from serving dotfiles (.htaccess, .svn, .git, etc.)
location ~ /. {
deny all;
access_log off;
log_not_found off;
}
# php-fpm configuration using socket
location ~ .php {
fastcgi_split_path_info ^(.+.php)(.*)$;
#yii catches the calls to unexising PHP files
set $fsn /$yii_bootstrap;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
fastcgi_pass unix:/tmp/php5-fpm.sock; # 相応FastCGIを変更
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fsn;
#PATH_INFO and PATH_TRANSLATED can be omitted, but RFC 3875 specifies them for CGI
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
## Tweak fastcgi buffers, just in case.
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}

説明:

Yii は、Nginx と PHP + FPM SAPI の組合せでも動作します。 以下はホスト構成のサンプルです。このホスト構成は、ブートストラップファイルを定義し、存在しないファイルに対するすべてのリクエストを yii が捕捉するようにして、見栄えの良い URL を利用できるようにしています。

redmine fastcgi crash 現象の解決対策

現象:

/usr/lib/ruby/gems/1.8/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require’: no such file to load — fcgi (LoadError)
中略
from /usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/handler/fastcgi.rb:1
from ./dispatch.fcgi:20

対策:

ファイル:/home/redmine/redmine-2.5.1/public/dispatch.fcgi

次の内容を追加

require ‘rubygems’
require ‘fcgi’

 

apachetopはリアルタイムでwebサーバーの負荷状況を監視する

 

1.apachetopのインストール
# rpm -ivh http://mirrors.hustunique.com/epel/5/i386/epel-release-5-4.noarch.rpm
# yum install apachetop
2.apachetopの使い方
[root@ip-172-31-27-223 ~]# apachetop -h
ApacheTop v0.12.6 – Usage:
File options:
-f logfile open logfile (assumed common/combined) [/var/log/httpd/access_log]
(repeat option for more than one source)

URL/host/referrer munging options:
-q keep query strings [no]
-l lowercase all URLs [no]
-s num keep num path segments of URL [all]
-p preserve protocol at front of referrers [no]
-r resolve hostnames/IPs into each other [no]

Stats options:
Supply up to one of the following two. default: [-T 30]
-H hits remember stats for this many hits
-T secs remember stats for this many seconds

-d secs refresh delay in seconds [5]

-h this help

Compile Options: -HAVE_KQUEUE -HAVE_FAM -ENABLE_PCRE
Polling Method: stat

3.操作例
/usr/bin/apachetop -f  /var/log/apache/access.log
結果:
last hit: 09:33:24 atop runtime: 0 days, 00:01:00 09:33:25
All: 197 reqs ( 3.3/sec) 1394.5K ( 23.6K/sec) 7248.3B/req
2xx: 137 (69.5%) 3xx: 59 (29.9%) 4xx: 1 ( 0.5%) 5xx: 0 ( 0.0%)
R ( 30s): 61 reqs ( 2.0/sec) 314.8K ( 10.5K/sec) 5285.0B/req
2xx: 60 (98.4%) 3xx: 1 ( 1.6%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)

REQS REQ/S KB KB/S URL
33 1.10 6.7 0.2*/misc.php
17 0.59 220.7 7.6 /forum.php
1 0.04 10.4 0.4 /forum-298-1.html
1 0.04 11.4 0.4 /thread-56035-1-1.html
1 0.03 8.7 0.3 /thread-317059-1-1.html
1 0.05 9.6 0.5 /thread-277892-1-1.html