lingerd 설치 (libhttpd.ep 부하 방지)

리눅스/APACHE|2015. 1. 16. 16:55
반응형
1 . lingerd 란?
아파치에서 갑작스런  libhttpd.ep 혹은 httpd가 상승하여 cpu 혹은 메모리를 과도하게 점유할 경우 . 일정 튜닝으로 이를 막을 순 없지만. dos상단의 공격에서는 데몬은 저절로 죽어 버린다.
이때, lingerd 라는 엑셀레이트를 설치하면 , 아파치는 해당 과부하 프로세스를 죽이면서 서버가 죽는것을 방지할 수 있다.

2.lingerd 구하기

3.설치하기
 
mkdir -p /var/run/lingerd/
chown nobody.nobody /var/run/lingerd/
chmod 700 /var/run/lingerd/
 
 
tar xvfz ;omgerd-xxx.gz
cd lingerd-xxx
 
make
이렇게 하면 lingerd 란 바이너리가 생긴다.
 
cp lingerd /usr/local/sbin
cp extra/lingerd.rc /etc/rc.d/init.d/lingerd
chkconfig --level 3 lingerd on
 
이렇게 해서 브트로더에 올린다.
/etc/rc.d/init.d/lingerd start
 
cp apache-x.x/ap_lingerd.c li_config.h $APACHE/src/main/patch -p0 -d $APACHE/src/ < apache-xx/aplinger.diff
 
이과정은 아파치를 위한 과정이다.
아파치소스가 있는 폴더가 $APACHE라고 가정해서 입력하라.
즉 $APACHE는 님의 환경에 맞는 절대경로를 입력하면 된다.
 
이제 패치가 완료되면, APM 설치과정과 같이
 
apache>./configure --prefix=/usr/loca/apache
apache> cd ../php-xxxx
php> ../ 설치과정 진행
php> cd ../apache
apapche> 설치과정 진행 ./configure ...> make > make install
 
이렇게 하여 설치를 완료 한다.
apache재구동 한다.
설치완료
 
- 이재부터 / var/log/messages 에 로그가 생성된다.
- /var/run/lingerd 에는 프로세스가 동작한다.
- /usr/local/apache/logs/error_log 에는 문제 발생시 , 에로로그가 기록된디ㅏ.
이렇게 함으로써 아파치에 대한 안전한 운영이 가능해진다.
 
[출처] 향기가 있는 프로그래밍 | 티로즈 (http://blog.godsarang.com/100019463276)


반응형

댓글()

[crit] (28)No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed

리눅스/APACHE|2015. 1. 16. 16:55
반응형

설정 등에도 아무 문제가 없는데도, 아파치가 재시작이 되지않는 경우가 있는데, 로그를 보면 아래와 같은 2가지 메시지가 찍혀있다.

 

[emerg] (28)No space left on device: Couldn't create accept lock

 

[crit] (28)No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed
Checking your disk shows that you have plenty of space

 

이럴 때는

ipcs -s | grep nobody 를 쳐보면 세마포어 배열이 잔뜩 있는 것을 확인할 수 있다. =_=;

ipcs -s | grep nobody | perl -e 'while (<STDIN>) { @a=split(/s+/); print `ipcrm sem $a[1]`}' 를 하여서 세마포어 배열들을 죽이면 임시방편으로 해결이 가능한다.

 

다른 해결방안은 커널파라메터를 튜닝해서 최대세마포어배열수를 늘려주는 것인데,

ipcs -ls 해보면

------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767

 

위처럼 128개로 되어 있다.

/proc/sys/kernel/sem 을 수정해서 최대세마포어배열수를 512나 적절히 늘려주면 된다.
echo 250 32000 100 512 > /proc/sys/kernel/sem


출처 : http://blog.naver.com/krumelur

반응형

댓글()

Hudson 설치

리눅스/APACHE|2015. 1. 16. 16:55
반응형

1. Hudson 다운로드 

http://www.hudson-ci.org/ 

 

/usr/local/hudson에 해당 형태로 복사

/usr/local/hudson/hudson-1.396.war

 

2. 실행

nohup nice java -DHUDSON_HOME=/usr/local/hudson -jar /usr/local/hudson/hudson-1.396.war --httpPort=8855 > /usr/local/hudson/hudson.log 2>&1 &

 

-DHUDSON_HOME은 환경변수로 설정하거나 인자로 실행시 넣어주면 됨

--httpPort 옵션으로 기본실행포트를 변경할 수 있다.

 

최초 실행되면 자동으로 배포하고, 실행된다.

설치는 정말 간단한 듯..

 

[출처] Hudson 설치|작성자 감자

반응형

댓글()

configure: error: Cannot use an external APR with the bundled APR-util

리눅스/APACHE|2015. 1. 16. 16:54
반응형

httpd 설치시 아래와 같은 에러메세지가 나타난다면 ./configure 명령 옵션을 한개 더 추가합니다.

 

[에러]

configure: error: Cannot use an external APR with the bundled APR-util

 

[해결]

--with-included-apr

반응형

댓글()

우분투 아파치 웹서버에서 index.php 다운로드창이 뜰 경우

리눅스/APACHE|2015. 1. 16. 16:54
반응형

아래 파일에서 옵션을 수정합니다.

 

[root@sysdocu]# vi /etc/apache2/mods-enabled/php5.conf

 

<IfModule mod_userdir.c>
   <Directory /home/*/public_html>
       #php_admin_value engine Off        // 주석처리
   </Directory>
</IfModule>

 

그리고 apache 재시작을 하면 php 가 잘 인식됩니다.

 

* 참고 : php_admin_value engine 옵션은 On 이라는 값으로 사용할 수 없습니다.

 

반응형

댓글()

/usr/local/apache/bin/apachectl: line 81: 29654 파일 크기 제한을 초과함 $HTTPD -DSSL

리눅스/APACHE|2015. 1. 16. 16:54
반응형

[증상]

ssl 을 구동하려고 아래와 같은 명령어를 내렸을때 나타나는 에러 메세지.

 

[root@sysdocu]# /usr/local/apache/bin/apachectl startssl
/usr/local/apache/bin/apachectl: line 81: 29654 파일 크기 제한을 초과함 $HTTPD -DSSL
/usr/local/apache/bin/apachectl startssl: httpd could not be started
 

[원인]

ssl 로그파일 사이즈가 2G를 넘어섰을때 발생되는 문제입니다.

 

[해결]

ssl 설정파일에서 (ssl.conf) 아래와 같이 로그가 쌓이도록 설정이 되어 있습니다.

 

SSLLog      /usr/local/apache/logs/ssl_engine_log

 

logs 디렉토리로 이동하여 해당 로그파일의 이름을 바꾸거나 삭제하면 ssl 구동이 가능해집니다.

 

반응형

댓글()

웹접속 통계 도구 (TraceWatch)

리눅스/APACHE|2015. 1. 16. 16:53
반응형

http://pat.im/829
http://www.tracewatch.com/doc/#install
http://www.dejkam.com/twatch/?lang=Korean

반응형

댓글()

APM 설치 (httpd 2.4.x PHP 5.3.x or 7.3 MySQL 5.5.x)

리눅스/APACHE|2015. 1. 16. 16:53
반응형

설치하려는 버전은 아래와 같습니다.

httpd 2.4.10

PHP 5.3.8 (7.3 동일)

MySQL 5.5.14 (5.7.x 이상은 설치 방법이 다르므로 다른 매뉴얼 참조)

 

설치를 진행하기에 앞서 아래 패키지들을 설치해줍니다.

(필수 구성 요소)
yum -y install openssl openssl-devel mhash mhash-devel libtool libtool-ltdl libtool-ltdl-devel imap-devel imap zlib-devel zlib freetype-devel freetype libpng-devel libpng libjpeg-devel libjpeg libtiff-devel libtiff gd-devel gd pcre-devel pcre libxml-devel libxml libxml2-devel libxml2 gdbm-devel gdbm ncurses-devel ncurses curl-devel curl expat-devel expat bzip2-devel bzip2-libs bzip2 libc libc-devel libc-client-devel wget gcc gcc-c++

 

 

[ httpd 2.4.10 ]

 

1. 설치 환경 구성

# cd /usr/local/src
# wget http://archive.apache.org/dist/apr/apr-1.4.2.tar.gz
# tar xvzf apr-1.4.2.tar.gz
# cd apr-1.4.2
# ./configure
   cp -arp libtool libtoolT      // libtoolT 지우지 못한다는 에러메세지 나타났지만 생략해주어도 되었음

   ln -s /usr/bin/libtool /          // 생략해주어도 되었음
# make
# make install

# cd ..
# wget http://archive.apache.org/dist/apr/apr-util-1.3.9.tar.gz
# tar xvzf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

 

 
2. 아파치 설치

# cd ..

# wget https://archive.apache.org/dist/httpd/httpd-2.4.10.tar.gz

# tar xvzf httpd-2.4.10.tar.gz

# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-modules=shared --enable-ssl --enable-rewrite --with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
# make
# make install

 

 

[ MySQL 5.5.14 ]

 

1. cmake 설치

 

# cd ..

# wget 

http://pkgs.fedoraproject.org/lookaside/pkgs/cmake/cmake-2.8.5.tar.gz/3c5d32cec0f4c2dc45f4c2e84f4a20c5/cmake-2.8.5.tar.gz

# tar xvzf cmake-2.8.5.tar.gz

# cd cmake-2.8.5

# ./bootstrap

# make

# make install

 

 

2. 계정 생성

# groupadd -g 400 mysql
# useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql

 

 

3. MySQL 설치

# cd ..

# wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.14.tar.gz

# tar xvzf mysql-5.5.14.tar.gz

# cd mysql-5.5.14

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306

# make

# make install

 

[참고]

euckr 로 설치를 원할 경우 옵션을 변경해줍니다.

-DDEFAULT_CHARSET=euckr -DDEFAULT_COLLATION=euckr_korean_ci

 

 

4. DB생성 및 기본 보안 설정

# cp -arp scripts/mysql_install_db /usr/local/mysql
# cd /usr/local/mysql

# rm -rf data

// data폴더를 지우는 이유는 기본폴더가 있긴한데 기본테이블이 없습니다.

    그대로 진행하시면 테이블이 없다며 mysql 이 구동되지 않습니다.

    때문에 data폴더를 삭제하고 아래 명령어로 재설치를 해줍니다.
# sh ./mysql_install_db

// 위 명령어로 data 폴더가 생성되지 않을 경우 아래 명령어로 생성해보세요.

    perl ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql/data
cp support-files/my-huge.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
chown root.root /etc/init.d/mysqld
chkconfig --add mysqld
chmod 711 /usr/local/mysql
chmod 700 /usr/local/mysql/data
chmod 751 /usr/local/mysql/bin
chmod 750 /usr/local/mysql/bin/*
chmod 755 /usr/local/mysql/bin/mysql
chmod 755 /usr/local/mysql/bin/mysqldump

 

 

[ PHP 5.3.8 or PHP 7.3 ]

 

필수 구성 요소를 설치합니다.

# cd /usr/local/src

wget https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz


# tar zxvf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9
# ./configure
# make
# make install

 

# cd /usr/local/src
# wget 

https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz


# tar zxvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure
# make
# make install

 

# cd /usr/local/src
# wget http://pkgs.fedoraproject.org/repo/pkgs/libjpeg/jpegsrc.v6b.tar.gz/dbd5f3b47ed13132f04c685d608a7547/jpegsrc.v6b.tar.gz

# tar xvzf jpegsrc.v6b.tar.gz
# cd jpeg-6b

# cp -f /usr/share/libtool/config/config.guess .    // 덮어 쒸우기 (CentOS 5.6 이하 일때는 /usr/share/libtool/config.guess 에 있습니다)
# cp -f /usr/share/libtool/config/config.sub .

# ./configure --enable-shared --enable-static

# make

아래와 같은 에러 메세지가 출력될 경우

make: ./libtool: 명령을 찾지 못했음

# ln -s /usr/bin/libtool libtool

# make clean

# make

# make install

아래와 같은 에러 메세지가 출력될 경우

'/usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1': 그런 파일이나 디렉토리가 없음' 

조치방법

mkdir -p /usr/local/man/man1
make clean

make

make install

 

# cd /usr/local/src

wget https://www.mirrorservice.org/sites/ftp.cac.washington.edu/imap/imap-2007f.tar.gz

# tar xvzf imap-2007f.tar.gz

# cd imap-2007f

# yum -y install pam-devel

make lr5 PASSWDTYPE=std SSLTYPE=unix.nopwd EXTRACFLAGS=-fPIC IP=4

# mkdir /usr/local/imap-2007f/

# mkdir /usr/local/imap-2007f/include/

# mkdir /usr/local/imap-2007f/lib/

# cp c-client/*.h /usr/local/imap-2007f/include/

# cp c-client/*.c /usr/local/imap-2007f/lib/

# cp c-client/c-client.a /usr/local/imap-2007f/lib/libc-client.a

 

[참고]

64비트 운영체제에서는 아래 심볼릭 링크 진행 해주어야 합니다. (필요시)

 
ln -sf /usr/lib64/libpng12.so.0 /usr/lib/libpng12.so.0      // 이부분은 CentOS 6, fedora 15 이상에서 해당되는 내용입니다.

ln -sf /usr/lib64/libpng12.a /usr/lib/libpng12.a
ln -sf /usr/lib64/libpng.so.3 /usr/lib/libpng.so.3
ln -sf /usr/lib64/libpng.so /usr/lib/libpng.so
ln -sf /usr/lib64/libpng12.so /usr/lib/libpng12.so
ln -sf /usr/lib64/libc-client.so /usr/lib/libc-client.so
ln -sf /usr/lib64/libgssapi_krb5.so /usr/lib/libgssapi_krb5.so
ln -sf /usr/lib64/libkrb5.so /usr/lib/libkrb5.so
ln -sf /usr/lib64/libkrb5support.so /usr/lib/libkrb5support.so

 

[참고]

MySQL 5.7 설치시 "libmysqlclient_r* 관련 에러가 출력됩니다. 이경우 아래와 같은 옵션을 사용해보세요.
php 컴파일 옵션을 "mysqlnd" 로 줍니다."./configusr --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd"

 

 

사용할 버전 다운로드

# wget http://museum.php.net/php5/php-5.3.9.tar.gz

# wget https://www.php.net/distributions/php-7.3.11.tar.gz

 

# tar xvzf php-5.3.8.tar.gz

 

# cd php-5.3.8

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mod-charset --with-config-file-path=/usr/local/apache/conf --enable-sigchild --enable-magic-quotes --with-libxml-dir --with-openssl --with-zlib --with-zlib-dir --with-bz2 --enable-calendar --with-curl --enable-dba --with-gdbm --enable-exif --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-imap --with-imap-ssl --with-kerberos --enable-mbstring --with-mhash --with-mcrypt --with-mysql=/usr/local/mysql --enable-sockets --with-regex=php --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-zend-multibyte

 

* php 컴파일중 

에러 : configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

해결 : imap-2007f 설치 후 --with-imap=/usr/local/imap-2007f 옵션을 사용합니다.

방법 : https://sysdocu.tistory.com/165

 

# make
# make install
# cp php.ini-development /usr/local/apache/conf/php.ini

 

아파치 설정파일 수정

# vi /usr/local/apache/conf/httpd.conf
 

DirectoryIndex index.html index.htm index.php

 

# PHP Enable

AddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc

AddType application/x-httpd-php-source .phps

 

<Directory /home/*>

    AllowOverride None

    Require all granted

 

</Directory>

 

PHP 설정파일 수정

# vi /usr/local/apache/conf/php.ini

date.timezone = "Asia/Seoul"
short_open_tag = On

 
 

ZendGuardLoader 설치
# cd ../ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x
# cp -arp ZendGuardLoader.so /usr/local/php/lib/
# vi /usr/local/apache/conf/php.ini

[Zend]
zend_extension=/usr/local/php/lib/ZendGuardLoader.so

short_open_tag = On
date.timezone = Asia/Seoul 도 입력
register_globals = On

 

* ZendGuardLoader 는 아래 조건이 맞아야 설치 가능합니다.

- httpd 2.2.x 이하 버전 (prefork 방식)

- php 5.3.x 버전

 

반응형

댓글()

APM 설치 (Apache 1.3.x PHP 5.2.x MySQL 5.1.x)

리눅스/APACHE|2015. 1. 16. 16:53
반응형

openssl 설치

openssl: http://www.openssl.org/source/ 에서 다운로드 후 압축을 풉니다.

풀려진 디렉토리로 이동 후 아래 명령을 순차적으로 입력합니다.

./config
make
make install

 

 
mod_ssl 설치 (apache 1.3.x 에서만)

mod_ssl: http://www.modssl.org/source/ 에서 아파치 버전에 맞는 것으로 다운로드 후 압축을 풉니다.

풀려진 디렉토리로 이동 후 아래 명령을 입력합니다.

./configure --with-apache=../apache_1.3.41 --with-ssl=/usr/local/ssl;

 

 

httpd, php, mysql 설치

 

1) 아파치 max_client 1024 가능하도록 설정

 

파일 : 소스디렉토리/server/mpm/prefork/prefork.c

#define DEFAULT_SERVER_LIMIT 1024 으로 수정

 

파일 : 소스디렉토리/server/mpm/worker/worker.c
#define DEFAULT_SERVER_LIMIT 64 으로 수정
 

 
2) 설치 진행

apache 1.3.42
[root@sysdocu]# ./configure --prefix=/usr/local/apache --enable-module=so --enable-shared=max --enable-module=rewrite --enable-module=ssl --enable-shared=rewrite --enable-shared=ssl

 

httpd 2.2.34
[root@sysdocu]# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-modules=shared --enable-ssl --enable-rewrite --with-mpm=worker

[root@sysdocu]# make
[root@sysdocu]# make install

 

mysql 5.1.x

[root@sysdocu]# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euckr --with-mysql-user=mysql --with-extra-charsets=all --enable-thread-safe-client
[root@sysdocu]# make
[root@sysdocu]# make install

 

* mysql DB생성 및 보안 설정

[root@sysdocu]# groupadd -g 400 mysql
[root@sysdocu]# useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql

[root@sysdocu]# scripts/mysql_install_db
[root@sysdocu]# chown -R mysql:mysql /usr/local/mysql
[root@sysdocu]# chown -R mysql.mysql /usr/local/mysql/data
[root@sysdocu]# cp support-files/my-huge.cnf /etc/my.cnf
[root@sysdocu]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
[root@sysdocu]# chmod 700 /etc/init.d/mysqld
[root@sysdocu]# chown root.root /etc/init.d/mysqld
[root@sysdocu]# chkconfig --add mysqld
[root@sysdocu]# chmod 711 /usr/local/mysql
[root@sysdocu]# chmod 700 /usr/local/mysql/data
[root@sysdocu]# chmod 751 /usr/local/mysql/bin
[root@sysdocu]# chmod 750 /usr/local/mysql/bin/*
[root@sysdocu]# chmod 755 /usr/local/mysql/bin/mysql
[root@sysdocu]# chmod 755 /usr/local/mysql/bin/mysqldump
 

php 5.2.x

- php 4.x 버전도 동일

- httpd 2.x일때의 설치 옵션

[root@sysdocu]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-language=korean --with-kerberos --with-imap-dir --with-imap-ssl --with-mysql=/usr/local/mysql --with-tiff-dir --with-pdflib --with-cpdflib --with-mhash --enable-sockets --with-regex=php --with-mod_charset --enable-track-vars --enable-ftp --enable-modules=so --enable-inline-optimization --disable-debug --with-config-file-path=/usr/local/apache/conf --with-zlib --with-zlib-dir --with-curl --with-iconv --with-dbx --with-gdbm --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --enable-mbregex --enable-sigchild --with-xml --enable-dba --with-zend-multibytei --enable-safe-mode --enable-magic-quotes --enable-debugger --enable-sysvsem --enable-sysvshm
[root@sysdocu]# make
[root@sysdocu]# make install

 

* 64bit에서 에러발생시
/usr/lib/libexpat.so: could not read symbols: File in wrong format 의 경우 아래 옵션 추가

--with-expat=builtin

 
* 설치 완료 후, httpd 에서 아래 내용 추가

DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.php5 index.phtml index.cgi index.jsp

 
# PHP Enable
AddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc
AddType application/x-httpd-php-source .phps

 
<Directory /home/*>
    AllowOverride All
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>

 

반응형

댓글()

[그누보드] 관리자 패스워드 분실

리눅스/APACHE|2015. 1. 16. 16:52
반응형

그누보드 설치 디렉토리 기준으로

/그누보드/bbs/login_check.php 파일을 열으신뒤

 

아래의 소스를 주석처리 합니다.

if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\n\n패스워드는 대소문자를 구분합니다.");
}

 

위의 소스를 주석처리 하시면..

 

관리자 비밀번호를 아무거나입력하셔도 로그인에 성공하게 되니 사용하신후 반드시 주석을 해제 해주세요~

 

[출처] 지식인 | quddnr145 (http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040203&docId=119899713&qb=6re464iE67O065OcIO2MqOyKpOybjOuTnCDrtoTsi6Q=&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=Rux/pU5Y7vCssvj6fb0ssc--297644&sid=UCw5@s0qLFAAAAzhFL8)

반응형

댓글()

failed to open stream: Too many open files in

리눅스/APACHE|2015. 1. 16. 16:52
반응형

[증상]

페이지가 간헐적으로 아래같은 오류 메세지를 보이면서 정상출력이 되지 않을때.

 

failed to open stream: Too many open files in /home/sysdocu/public_html/common.php on line 152.

 

[해결]

아파치 실행파일을 vi 에디터로 열고 내용을 수정합니다.

그리고 아파치를 재시작하면 문제가 해결됩니다.

 

vi /usr/local/apache/bin/apachectl

 

#ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"        <- 기존의 값을 주석처리합니다.
ULIMIT_MAX_FILES="ulimit -n 65535"                          <- 새로운 값으로 입력합니다.

반응형

댓글()