Linux

CentOS7 Nginx/PHP 설치 및 conf 설정

먹세 2020. 1. 15. 10:02

1. Linux 계정 기본 세팅

login as : root
password : 최초 세팅된 pw 입력

#>passwd
새pw 입력

== 주로 사용할 계정 생성 (root권한부여)

#>useradd userid

#>passwd userid
새pw 입력

== ssh root 접속 제한

#>vi /etc/ssh/sshd_config
PermitRootLogin yes 에서
PermitRootLogin no 로 변경 후 저장

== sshd 재시작

#>systemctl restart sshd

== root ssh 접속 되는지 확인 후 새로만든 계정 userid로 접속 후 root로 변경

#>su root

2. PHP 설치

#>yum install yum-plugin-replace
#>yum install mod_php71w php71w-common
#>yum install php71w-gd
#>yum install php71w-fpm
#>yum install php71w-opcache
#>yum install php71w-cli
#>yum install php71w-mysqlnd
#>yum install php71w-xml
#>yum install php71w-mbstring

sed -i 's/;date.timezone =/date.timezone = Asia\/Seoul/g' /etc/php.ini

#>yum install -y make automake gcc gcc-c++ kernel-devel openssl-devel php php-devel php-pear bzip2-devel libvpx-devel yum-utils bison re2c libmcrypt-devel libpqxx-devel libxslt-devel pcre-devel libcurl-devel libgsasl-devel openldap-devel libmemcached-devel libjpeg-devel libpng-devel readline-devel

#>systemctl start php-fpm
#>systemctl enable php-fpm

 

/etc/php-fpm.d/www.conf 에서 group = userid 로 변경 (보안상 실행 유저를 root 말고 자신의 실행 userid 로 변경) 필수

3. Nginx 설치

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
yum install nginx.x86_64
systemctl start nginx
systemctl enable nginx

4. conf 설정

아래 빨간색 텍스트 부분만 자신에 맞게 수정.

#>vi /etc/nginx/conf.d/www.domain.com.conf

server {
    listen 80;
    server_name mydomain.com www.mydomain.com;
    access_log /var/log/nginx/$host.access.log main;
    error_log /var/log/nginx/$host.error.log;
    root /data/web_htdocs;

    index index.php;
    client_max_body_size 200M;

    sendfile on;
    # Deny dotfiles (**/.*)
    location ~ /\. {
        deny all;
    }

    # Deny .php (**/*.php)
    location ~ \.php$ {
        rewrite ^.* /index.php;
    }


    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$query_string;

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /data/web_htdocs;

        }
        location ~ \.php$ {
            root /data/web_htdocs;
            try_files $uri = 404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
            fastcgi_buffer_size 128k;
            fastcgi_buffers 256 16k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
            include fastcgi_params;
        }

        location ~ /\.ht {
            deny all;
        }
    }
}

 

5. 소스폴더 권한세팅

#>mkdir /data

#>mkdir /data/web_htdocs

#>chmod -R 777 /data

#>chown -R userid:userid /data

== FTP로 /data/web_htdocs에 해당파일을 업로드 후 압축을 푼다. windows 에서 압축을 풀고 올려도 무방함.

#>cd /data/web_htdocs/

#>tar xvfz gnuboard.tar.gz

#>systemctl restart nginx

 

반응형

'Linux' 카테고리의 다른 글

tar.gz 압축 방법  (0) 2020.11.11
ncloud 에서 NAS 확장 Mount 하기  (0) 2020.01.29
vi 에디터 여러줄 주석 처리  (0) 2019.05.07
centos7에서 composer 설치  (0) 2019.04.30
centos7 sendmail 설치 및 세팅  (0) 2019.02.18