> 백엔드 개발 > PHP 튜토리얼 > nginx PHP 구성

nginx PHP 구성

WBOY
풀어 주다: 2016-07-29 09:12:37
원래의
947명이 탐색했습니다.

CentOS 6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
准备篇:
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
#########################################################
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
/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 第三方yum源(CentOS默认的标准源里没有nginx软件包)
       yum install wget    #安装下载工具wget
       wget http://www.atomicorp.com/installers/atomic  #下载atomic yum源
       sh ./atomic   #安装
       yum check-update  #更新yum软件包
#############################################################################
安装篇:
一、安装nginx
       yum install nginx      #安装nginx,根据提示,输入Y安装即可成功安装
       service nginx start    #启动
       chkconfig  nginx on    #设为开机启动
       /etc/init.d/nginx  restart  #重启
       rm -rf /usr/share/nginx/html/*  #删除ngin默认测试页
二、安装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!
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
       MySql密码设置完成,重新启动 MySQL:
      /etc/init.d/mysqld stop   #停止
      /etc/init.d/mysqld start  #启动
      service mysqld restart    #重启
三、安装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 #MySql 다시 시작
/etc/init.d/nginx restart #nginx 다시 시작
/etc/rc.d/ init.d /php-fpm start #php-fpm 시작
chkconfig php-fpm on #시작 설정
###################### # ########################################### # #
구성
1. PHP를 지원하도록 nginx 구성
cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak #원본 구성 파일 백업
vi /etc/nginx /nginx.conf #편집
사용자 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 추가
시스템 운영 및 유지 관리 www.osyunwei.com 주의 사항: qihang01 원본 콘텐츠는 저작권이 있습니까? 재인쇄하려면 원본 링크를 표시하세요.
# PHP 스크립트를 다음으로 전달하세요. 127.0.0.1 :9000을 수신하는 FastCGI 서버
#
위치 ~ .php$ {
루트 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 #Edit
date.timezone = PRC #946행에서 이전 세미콜론을 제거하고 date.timezone = PRC 비활성화_기능 = 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, x _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가 이 기능을 사용하지 않도록 설정할 수 있는 기능을 나열하세요. , 삭제하고 비활성화할 수 있습니다.
hide_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! #저장하고 종료
3. php-fpm 구성
시스템 운영 및 유지보수 www.osyunwei.com 주의사항: qihang01 원본 콘텐츠인가요? 저작권 모든 재인쇄의 경우 출처와 원본 링크를 표시해 주세요
cp /etc/php-fpm.d/www.conf /etc/php-fpm .d/www.confbak # 원본 구성 파일 백업
vi /etc /php-fpm.d/www.conf #Edit
User = nginx #사용자를 nginx로 수정
Group = nginx #Modify 그룹을 nginx
/etc/init.d/mysqld restart #MySql 다시 시작
/etc/init.d/nginx restart #nginx 다시 시작
/etc/rc.d/init.d/php-fpm 재시작 #php-fpm 재시작
########## ############################ ################ ###############
테스트 기사
cd /usr/share/nginx/html / # nginx 기본 웹사이트 루트 디렉터리 입력
vi index.php # 새 index.php 파일 만들기
phpinfo();
?>
# 저장
chown nginx.nginx /usr/share/nginx/html/ - R #디렉터리 소유자 설정
chmod 700 /usr/share/nginx/html/ -R #디렉터리 권한 설정
클라이언트 브라우저에 서버 IP 주소를 입력하면 관련 구성 정보를 볼 수 있습니다!
####################################### ### ##########################

위 내용은 MySQL, FastCGI 모드, chmod 설치를 포함한 nginx PHP 구성을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿