centos 7 nginx php 7 환경 구축 및 권한 설정

최근 에 온라인 테스트 환경 을 설정 하 였 습 니 다. centos 7 nginx + phop 7. 이 설치 방식 은 가장 간편 한 yum 설치 방법 만 소개 합 니 다.
    nginx 설치
    1. yum 소스 설치
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

    2. nginx 설치
yum install -y nginx

    3. nginx 를 시작 하고 자동 실행 설정
systemctl start nginx    #  ,restart-  ,stop-  
systemctl enable nginx    #    

    4. 버 전 및 실행 상태 보기
nginx -v    #    

ps -ef | grep nginx    #      

    php 7 설치
    1. yum 소스 설치
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    2. php 7 yum 구성 요 소 를 보고 php 7.2 를 설치 합 니 다.
# yum search php72w  #      
……
……
mod_php72w.x86_64 : PHP module for the Apache HTTP Server
php72w-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php72w-cli.x86_64 : Command-line interface for PHP
php72w-common.x86_64 : Common files for PHP
php72w-dba.x86_64 : A database abstraction layer module for PHP applications
php72w-devel.x86_64 : Files needed for building PHP extensions
php72w-embedded.x86_64 : PHP library for embedding in applications
php72w-enchant.x86_64 : Enchant spelling extension for PHP applications
php72w-fpm.x86_64 : PHP FastCGI Process Manager
php72w-gd.x86_64 : A module for PHP applications for using the gd graphics library
php72w-imap.x86_64 : A module for PHP applications that use IMAP
php72w-interbase.x86_64 : A module for PHP applications that use Interbase/Firebird databases
php72w-intl.x86_64 : Internationalization extension for PHP applications
php72w-ldap.x86_64 : A module for PHP applications that use LDAP
php72w-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
php72w-mysql.x86_64 : A module for PHP applications that use MySQL databases
php72w-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php72w-odbc.x86_64 : A module for PHP applications that use ODBC databases
php72w-opcache.x86_64 : An opcode cache Zend extension
php72w-pdo.x86_64 : A database access abstraction module for PHP applications
php72w-pdo_dblib.x86_64 : MSSQL database module for PHP
php72w-pear.noarch : PHP Extension and Application Repository framework
php72w-pecl-apcu.x86_64 : APCu - APC User Cache
php72w-pecl-apcu-devel.x86_64 : APCu developer files (header)
php72w-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
php72w-pecl-igbinary.x86_64 : Replacement for the standard PHP serializer
php72w-pecl-igbinary-devel.x86_64 : Igbinary developer files (header)
php72w-pecl-imagick.x86_64 : Provides a wrapper to the ImageMagick library
php72w-pecl-imagick-devel.x86_64 : Imagick developer files (header)
php72w-pecl-libsodium.x86_64 : Wrapper for the Sodium cryptographic library
php72w-pecl-memcached.x86_64 : Extension to work with the Memcached caching daemon
php72w-pecl-mongodb.x86_64 : PECL package MongoDB driver
php72w-pecl-redis.x86_64 : Extension for communicating with the Redis key-value store
php72w-pecl-xdebug.x86_64 : PECL package for debugging PHP scripts
php72w-pgsql.x86_64 : A PostgreSQL database module for PHP
php72w-phpdbg.x86_64 : Interactive PHP debugger
php72w-process.x86_64 : Modules for PHP script using system process interfaces
php72w-pspell.x86_64 : A module for PHP applications for using pspell interfaces
php72w-recode.x86_64 : A module for PHP applications for using the recode library
php72w-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
php72w-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php72w-sodium.x86_64 : Wrapper for the Sodium cryptographic library
php72w-tidy.x86_64 : Standard PHP module provides tidy library support
php72w-xml.x86_64 : A module for PHP applications which use XML
php72w-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol

    3. 필요 한 구성 요 소 를 선택 하여 설치, php72w. x8664 와 php72w - fpm. x8664 는 핵심 프로그램 필수 입 니 다. 다음 예제 에서 자주 사용 되 는 구성 요소 의 설 치 를 선 택 했 습 니 다. 각 구성 요소 의 용 도 를 잘 이해 하지 못 하 는 독 자 는 나중에 관련 구성 요 소 를 사용 할 때 오류 가 발생 하지 않도록 모두 설치 할 수 있 습 니 다.
yum install php72w.x86_64 php72w-fpm.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mysqlnd.x86_64 php72w-pdo.x86_64 php72w-pecl-redis.x86_64 php72w-pecl-mongodb.x86_64 php72w-opcache.x86_64 php72w-devel.x86_64 php72w-bcmath.x86_64

낙후 된 mysql 확장 대신 더 효율 적 인 mysql 확장 을 설치 하 는 것 을 권장 합 니 다
    4. php 를 시작 하고 부팅 으로 설정
systemctl start php-fpm    #  ,restart-  ,stop-  
systemctl enable php-fpm    #    

    5. 버 전 및 실행 상태 보기
php-fpm -v    #    

ps -ef | grep php-fpm    #      

상기 절 차 를 마 친 후에 독자 가 스스로 nginx 에서 웹 디 렉 터 리 를 설정 하면 정상적으로 실행 할 수 있 습 니 다. 그러나 이때 nginx 와 phop 은 루트 로 실행 되 고 최고 권한 으로 웹 파일 을 실행 하면 시스템 에 안전 위험 을 가 져 올 수 있 습 니 다. 다음은 권한 설정 예제 입 니 다.
    nginx 권한 설정
    1. ww 사용자 및 ww 사용자 그룹 을 만 들 고 ww 사용 자 를 ww 사용자 그룹 과 루트 그룹 에 동시에 가입 합 니 다.
adduser www    #  www  
groupadd www    #  www   
usermod -G www www    # www    www           
usermod -a -G root www    # www    root   , -a         ,  www    www root 

    2. nginx 를 ww 사용자 및 ww 사용자 그룹 으로 실행 하고 nginx. conf 파일 을 수정 하여 파일 머리 에 있 습 니 다.
user	www www;	# www    

    3. 웹 디 렉 터 리 소유 자 를 ww: ww 로 변경 하고 권한 은 755 로 변경 합 니 다.
chown www:www web   -R    #     
chmod 755 web   -R    #    

    4. nginx 설정 다시 불 러 오기
nginx -t    #  

nginx -s reload    #    

 
이 때 정적 파일 에 접근 할 수 있 고 phop 파일 에 접근 할 수 있 는 권한 이 없 음 을 표시 하려 면 SELinux 를 확인 하고 닫 으 면 정상적으로 실행 할 수 있 습 니 다.
nginx 설정 을 할 때 오류 로그 의 경 로 를 주의 하 십시오. phop 실행 에 알 수 없 는 오류 가 발생 했 을 때 로그 검사 오류 원인 을 볼 수 있 습 니 다.
 php - fpm 권한 설정
   상기 세 단 계 를 완성 하면 될 것 같 지만 문제 가 있 습 니 다. 바로 pp - fpm 의 실행 사용자 입 니 다. 기본 적 인 상황 에서 pp - fpm 는 apache 로 실 행 됩 니 다. 이 로 인해 pp 스 크 립 트 는 파일 작업 권한 을 행사 할 때 권한 제한 을 받 을 수 있 습 니 다.
    1. php - fpm. conf 를 열 고 맨 아래 줄 에서 찾기:
include=/etc/php-fpm.d/*.conf

    2. 프로필 참조 표시, 보기 들 어가 기
cd /etc/php-fpm.d/
ll
##   www.conf  
vim www.conf
#  user group  :
user = www
group = www

좋은 웹페이지 즐겨찾기