Reprinter의 말:
재인쇄 출처:http://www.osyunwei.com/archives/2353.html
원제: CentOS 6.2yum 설치 구성 lnmp 서버 (Nginx+PHP+MySQL)
CentOS6.5로 직접 테스트에 성공했습니다.
다음은 원문입니다.
------ --- ---------------------------------- --- ---------------------------------- --- ----------
준비:
1 , 방화벽 구성, 80포트 열기, 3306포트
vi /etc /sysconfig/ iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(방화벽을 통해 포트 80 허용)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(포트 3306이 방화벽을 통과하도록 허용)
특별 팁: 많은 네티즌이 이 두 규칙을 방화벽 구성의 마지막 줄에 추가하여 방화벽이 시작되지 않으면 올바른 것은 기본 22 포트 규칙에 추가
해야 합니다. 추가 후 방화벽 규칙은 다음과 같습니다.
######### ##################################### #####
# system-config-firewall에 의해 작성된 방화벽 구성
# 이 파일을 수동으로 사용자 정의하는 것은 권장되지 않습니다.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0 ]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -mstate -- 상태 NEW -m tcp -p tcp --dport 80 -j 승인
-A INPUT -mstate --state NEW -m tcp -p tcp --dport 3306 -j 승인
-A INPUT -j REJECT --reject-with icmp-host-금지
-A FORWARD -j REJECT --reject-with icmp-host-금지
COMMIT
###### ####### ######################################
/etc/ init.d/iptables restart #마지막으로 방화벽을 다시 시작하여 구성을 적용합니다
2, SELINUX를 닫습니다.
vi /etc/selinux/ config
#SELINUX=enforcing #코멘트아웃
#SELINUXTYPE=targeted #코멘트아웃
SELINUX=disabled #추가
:wq 저장, 닫기
shutdown -r 지금 #시스템 다시 시작
3, 구성CentOS 6.2타사 yumsource(CentOS기본 표준 소스에는 nginx 패키지가 없습니다)
yum install wget #다운로드 도구 설치 wget
wget http://www.atomicorp.com/installers/atomic #atomic yum 소스 다운로드
sh ./atomic #Install
yum check-update #yum 패키지 업데이트
################################## ####### ##########################
설치:
1. 설치nginx
yum install nginx #Install nginx, 프롬프트에 따라 Y를 입력하여 설치하면
service nginx start #Start
chkconfig nginx on #부팅 시 시작하도록 설정
/etc/init.d/nginx restart #Restart
rm -rf /usr/share/nginx /html/* # ngin 기본 테스트 페이지 삭제
2. MySQL 1을 설치하고 을 설치합니다. mysql
yum install mysql mysql-server #설치할 것인지 묻고 Y를 입력하면 설치가 완료될 때까지 자동으로 설치됩니다
/etc/init.d/mysqld start #시작 MySQL
chkconfig mysqld on #부팅 시 시작하도록 설정
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #복사 구성 파일(참고: 기본적으로 /etc 디렉터리에 my.cnf가 있는 경우 직접 덮어쓰세요.)
shutdown -r now #시스템 다시 시작
2 , root계정 설정 비밀번호
mysql_secure_installation
Enter를 누르고 프롬프트에 따라 Y를 입력하세요
Enter 비밀번호를 두 번 입력하고 Enter를 누르세요
프롬프트에 따라 Y를 입력하세요
마침내 나타납니다: MySQL을 사용해 주셔서 감사합니다!
MySql 비밀번호 설정이 완료되었습니다. MySQL을 다시 시작하세요.
/etc/init.d/mysqld 중지 #중지
/etc/init.d /mysqld start #시작
service mysqld restart #다시 시작
3. 설치PHP
1, 설치PHP
yum install php #설치가 완료될 때까지 프롬프트에 따라 Y를 입력합니다.
2, PHP 구성요소 설치, 사용 PHP지원MySQL, PHP지원FastCGI모드
yum 설치 php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm Y를 입력하고 Enter를 누르라는 메시지가 표시됩니다
/etc/init.d/mysqld restart #Restart MySql
/etc/init.d/nginx restart #Restart nginx
/etc/rc.d/init.d/php-fpm 시작 #시작php-fpm
chkconfig php-fpm on #시작 설정 ################################### ##########################구성 장
1. 구성nginx지원php
cp /etc/nginx/nginx.conf /etc/nginx/nginx. confbak #원본 백업
vi /etc/nginx/nginx.conf #편집
user nginx nginx; # nginx 실행 계정을 nginx 그룹의 nginx 사용자
로 수정합니다. :wq! # 저장하고 종료
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak # 원본 구성 파일 백업
vi / etc/nginx/conf.d/default.conf #편집
index index.php index.html index.htm; #index.php 추가
# 127.0.0.1에서 수신 대기하는 FastCGI 서버에 대한 PHP스크립트: 9000
#
위치 ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILEN AME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#FastCGI 서버 부분의 위치 주석을 해제하고 fastcgi_param 행의 매개변수에 주의하여 $document_root$fastcgi_script_name으로 변경합니다. , 또는 절대 경로
사용 2. php
vi /etc/php.ini #Edit
date 구성 .timezone= PRC #946행에서 앞의 세미콜론을 제거하고 date.timezone = PRC
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec
로 변경합니다. ,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink
,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen
,disk_free_space,checkdnsrr,getservbyname,getservbyport,disk_total_space ,posix_getpid,posix_getppid,posix_getpwnam, posix_getpwuid,posix_getrlimit,posix_getsid
,posix_getuid,posix_isatty,posix_kill ,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid
,posix_setpgid,posix_setsid,posix_setuid,posix_str 오류,posix_times,posix_ttyname,posix_uname
#목록 PHP가 386행에서 비활성화할 수 있는 기능은 일부 프로그램에서 이 기능을 사용해야 하는 경우 삭제하고 비활성화할 수 있습니다.expose_php = Off #432행에서 PHP 버전 정보 표시를 억제합니다
magic_quotes_gpc = On #SQL 주입을 방지하기 위해 745행에서 Magic_quotes_gpc를 엽니다open_basedir = .:/tmp/ #380행에서 설정 권한을 나타냅니다. 현재 디렉터리(즉, PHP 스크립트 파일이 있는 디렉터리) 및 /tmp/ 디렉터리에 액세스하면 PHP 트로이 목마가 사이트를 이동하는 것을 방지할 수 있습니다. 변경 후 설치 프로그램에 문제가 있는 경우 로그아웃할 수 있습니다. 이 줄의 프로그램 디렉토리 경로를 직접 쓰거나 /var/www /html/www.osyunwei.com/:/tmp/
:wq #
저장하고 종료하세요.
(Reposter의 말 :magic_quotes_gpc가 내 구성에 존재하지 않습니다. open_basedir가 이를 이해하지 못하고 건너뛰었습니다. 이 두 항목은 내 구성 성공에 영향을 미치지 않았습니다. 숨겨진 위험.. . 아직 찾지 못했거나 이해하지 못했습니다)
3. 설정php-fpm
cp /etc /php-fpm.d/www.conf /etc/php-fpm.d/www.confbak # 원본 구성 파일 백업vi /etc/php-fpm.d/www.conf #편집 user = nginx #사용자를 nginx로 수정
group = nginx
#그룹을 nginx로 수정
/etc/init.d/mysqld restart #MySql 다시 시작
/etc/init.d/nginx restart #nginx 다시 시작
/etc/rc.d/init.d/php-fpm restart #다시 시작 php-fpm
#################################### # #############################
테스트 기사 cd /usr /share/nginx/html/ # nginx 기본 웹사이트 루트 디렉터리 입력
vi index.php # 새 index.php 파일 만들기
phpinfo ();
?>
:wq! #저장
chown nginx.nginx /usr/share/nginx/html/ -R #디렉토리 소유자 설정
chmod 700 /usr/share/nginx/html/ -R #디렉토리 권한 설정
클라이언트 브라우저에 서버 IP 주소를 입력하면 관련 구성 정보를 볼 수 있습니다. !
####################################### ### #######################
비고
nginx기본 사이트 디렉터리는 /usr/share/nginx/html/
권한 설정: chown nginx.nginx /usr/share/nginx/html/ -R
MySQL데이터베이스 디렉터리는 다음과 같습니다: /var/lib/mysql
권한 설정: chown mysql.mysql -R /var/lib/mysql
이 튜토리얼은 현재( 2012.2.14) Nginx+PHP+MySQL 버전을 다음과 같이 설치하세요.
nginx 버전 : nginx/1.0.12
php 5.3.10(cli)
서버 버전:5.5.20-cll MySQL 커뮤니티 서버(GPL) 작성자: Atomicorp
위 내용은 관련 내용을 포함하여 CentOS 6.5 yum 설치 및 lnmp 서버(Nginx+PHP+MySQL) 구성을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.