유닛에는 PHP 프로젝트가 필요하지만 도메인 이름은 하나뿐입니다. 서버 운영체제는 redhat 4.7이고 Tomcat이 배포되었습니다. 다시 실행하거나 병합하는 것은 불가능하지만 동일한 호스트를 공유해야 한다고 생각했습니다. apache http 서버를 사용하고, jk와 tomcat을 연결하고, php와 mysql을 설치했는데, 시간이 많이 걸려서 최종적으로 성공한 기록은 다음과 같습니다.
1. Redhat4.7은 yum을 설치합니다.
Redhat4.7 기본적으로 yum이 설치되어 있지 않습니다. 사용 rpm보다 yum을 사용하여 소프트웨어를 설치하는 것이 실제로 더 편리하고 종속성을 고려할 필요가 없지만 때로는 패키지를 찾을 수 없습니다.
redhat5에는 기본적으로 yum이 설치되어 있으므로 직접 구성하세요.
yum wget http://www.parallels.com.cn/downloads/Prima/Tools/yum_forAS4.tar.gz 다운로드
tar xzvf yum_forAS4 압축 풀기 .tar.gz
디렉토리 입력 cd yum_forAS4 #
rpm -ivh *.rpm 설치
cd /etc/yum.repos.d/
vi CentOS-Base.repo
# CentOS-Base.repo [base] name=CentOS-4.7 - Base - mirrors.ustc.edu.cn baseurl=http://vault.centos.org/4.7/os/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4 #released updates [updates] name=CentOS-4.7 - Updates - mirrors.ustc.edu.cn baseurl=http://vault.centos.org/4.7/updates/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4 #additional packages that may be useful [extras] name=CentOS-4.7 - Extras - mirrors.ustc.edu.cn baseurl=http://vault.centos.org/4.7/extras/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4 #packages used/produced in the build but not released [addons] name=CentOS-4.7 - Addons - mirrors.ustc.edu.cn baseurl=http://vault.centos.org/4.7/addons/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-4.7 - Plus - mirrors.ustc.edu.cn baseurl=http://vault.centos.org/4.7/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4 #contrib - packages by Centos Users [contrib] name=CentOS-4.7 - Contrib - mirrors.ustc.edu.cn baseurl=http://vault.centos.org/4.7/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-4
yum makecache
yum 설치가 완료된 후 yum -y install <패키지 이름> 명령을 사용하여 소프트웨어를 설치할 수 있어 매우 편리합니다.
2. apache, php, mysql 설치
yum -y install httpd httpd-devel php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php- mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql
php-mcrypt 패키지가 설치되지 않았습니다. phpMyAdmin에 경고가 표시됩니다. 그러니 바를 설치하세요.
http://rpm.pbone.net/에서 다음 패키지를 찾으세요.
libmcrypt-2.5.7-5.el4.i386.rpm
php-common-5.3.10-2.el4 .remi.i386.rpm
php-mcrypt-4.3.9-1.el4.i386.rpm
위 패키지를 설치하세요.
Apache 구성 파일은 /etc/httpd/conf에 설치되고, WEB 디렉터리는 /var/www/에 설치됩니다.
시작: service httpd start
중지: service httpd stop
mysql start service mysqld 시작 중지 서비스 mysql 중지
mysql 계정 및 비밀번호 설정(생략)
3. tomcat 커넥터 컴파일 및 설치
wget tomcat-connectors-1.2.37-src.tar.gz
cd tomcat-connectors- 1.2.37-src
cd 네이티브
BUILDING.txt 파일을 주의 깊게 읽으세요. 텍스트에는 apxs가 필요하다고 나와 있습니다.
찾기. apxs의 위치를 지정하고
rpm - ql httpd-devel
...
/usr/sbin/apxs
...
실제로 Apache http 서버의 실행 파일은 다음과 같습니다. PATH 환경 변수에 있는 /usr/sbin/ 디렉터리에 있습니다.
./configure --with-apxs=/usr/sbin/apxs
make
현재 디렉토리에 apache-1.3 및 apache-2.0이라는 두 개의 디렉토리가 생성되었습니다.
cd apache-2.0
cp mod_jk.so /etc/httpd/modules/
4. jk 구성
(1) Workers.properties 구성 파일 생성
cd /etc/ httpd /conf
vi Worker.properties
# Define 1 real worker using ajp13 worker.list=worker1 # Set properties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009
(2) httpd.conf 편집
로딩 모듈 섹션 아래에 다음 줄을 추가합니다.
# Load mod_jk module # Update this path to match your modules location LoadModule jk_module modules/mod_jk.so # Where to find workers.properties # Update this path to match your conf directory location (put workers.properties next to httpd.conf) JkWorkersFile /etc/httpd/conf/workers.properties # Where to put jk shared memory # Update this path to match your local state directory or logs directory JkShmFile /var/log/httpd/mod_jk.shm # Where to put jk logs # Update this path to match your logs directory location (put mod_jk.log next to access_log) JkLogFile /var/log/httpd/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the timestamp log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # Send everything for context /examples to worker named worker1 (ajp13) JkMount /examples/* worker1
아파치 다시 시작
테스트:
Tomcat 포트를 이용해서 접근이 가능하고, Apache 포트를 이용해서도 같은 내용에 접근이 가능합니다.
방화벽을 사용하는 경우 lo
-A INPUT -i lo -p tcp -m tcp --dport 8009 -j ACCEPT
여기에 입력하고 다음에 구성하세요. 시간이 지나면 찾을 수 없을 것입니다.