CentOS 6.2 yum 설치 구성 lnmp 서버(Nginx+PHP+MySQL)

6384 단어 LNMP
준비편:
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포트에 추가해야 한다는 규칙 아래에
 :
#########################################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*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 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#########################################################

/etc/init.d/iptables restart # 마지막으로 방화벽을 다시 시작해서 설정을 적용합니다
2, SELINUX 닫기
 vi /etc/selinux/config
       #SELINUX=enforcing       # 
       #SELINUXTYPE=targeted    # 
       SELINUX=disabled         # 
       :wq   , 
       shutdown -r now   # 

3. CentOS 6.2 제3자 yum 소스를 설정합니다. (블로그에 yum [기본 표준 소스에nginx 패키지가 없습니다])
yum 설치nginx
rpm -ivh 
http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum info nginx

# # # # # # # # # # # # # # # # # # # # # # # 설치 편:
1. 설치nginxyuminstallnginx#설치nginx, 알림에 따라 Y설치를 입력하면 서비스nginxstart#시작chkconfignginxon#켜기 시작/etc/init를 성공적으로 설치할 수 있습니다.d/nginx 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 리턴, 힌트에 따라 Y 입력 비밀번호 2회, 리턴은 힌트에 따라 Y 입력 마지막으로: Thanks for using MySQL!
MySql 암호 설정 완료, MySQL 재부팅:
/etc/init.d/mysqld stop   # 
/etc/init.d/mysqld start  # 
service mysqld restart    # 

3. PHP 1 설치, PHP 설치
 yum install php   # Y 

2. PHP 구성 요소를 설치하여 PHP가 MySQL, PHP가 FastCGI 모드를 지원합니다.
yum install 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 
/etc/init.d/mysqld restart  # MySql
/etc/init.d/nginx  restart  # nginx
 
/etc/rc.d/init.d/php-fpm  start  # 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
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
  location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
  }

# FastCGI 서버의 일부 위치에 대한 설명을 취소하고 fastcgi_param 행의 매개 변수, $document_로 변경root$fastcgi_script_name, 또는 절대 경로 사용하기
2. php 설정
 vi  /etc/php.ini   # 
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_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,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_strerror,posix_times,posix_ttyname,posix_uname
# 386   PHP , , , 。
 expose_php = Off        # 432   php 
  magic_quotes_gpc = On   # 745   magic_quotes_gpc SQL 
  open_basedir = .:/tmp/  # 380 , ( PHP ) /tmp/ , php , , , /var/www/html/ /:/tmp/

 :wq!# 저장 종료
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 
<?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

좋은 웹페이지 즐겨찾기