본문 바로가기



NGINX루트 경로 변경 후 INDEX파일 생성하기



NGINX서버에서 디렉터리를 여러 개 두고 개발을 진행하고 싶을 경우 기본 /var/www/html 아래에 여러 개의 디렉터리를 두고 그중에 한 개의 디렉터리를 root디렉터리로 지정해 봅시다. 나머지 디렉터리는 서브프로젝트를 생성할 수 있는 디렉터리로 사용할 수 있습니다.

 

1. root가 될 디렉터리 폴더생성

sudo mkdir /var/www/html/alphonse

 

2. root접속 시 첫 화면이 될 index파일 생성

sudo echo '<!DOCTYPE html><html><head><title>Welcome to My Site!</title></head><body><h1>Hello, world!</h1></body></html>' | sudo tee /var/www/html/alphonse/index.html

 

3. ubuntu사용자에게 마스터권한 부여

웹 서버는 대부분 'www-data' 또는 'nginx'와 같은 특정 사용자로 실행되며, 이 사용자는 보통 웹 서버에 필요한 최소한의 권한만을 가집니다. 
따라서 이 사용자가 해당 파일들에 접근할 수 있도록 하는 것이 중요합니다.

이를 위해 'alphonse' 폴더와 그 하위의 모든 파일과 폴더의 그룹을 웹 서버가 실행되는 사용자로 변경하고, 그룹에 읽기와 실행 권한을 부여할 수 있습니다.

다음의 명령어를 실행해보세요:

sudo chown -R ubuntu:www-data /var/www/html/alphonse
sudo chmod -R 750 /var/www/html/alphonse

이 명령어들은 'alphonse' 폴더와 그 하위의 모든 파일과 폴더의 그룹을 'www-data'로 변경하고, 
폴더와 파일에 대해 소유자는 모든 권한을, 그룹은 읽기와 실행 권한을 가지도록 설정합니다. 
이렇게 하면 웹 서버가 해당 파일들에 접근하는 데 문제가 없어질 것입니다.

 

3. root폴더경로 변경

sudo vi /etc/nginx/sites-available/default

server {

    listen 80;
    server_name 158.179.160.253;

    root /var/www/html/alphonse; // <============ 이부분 경로를 변경
    index index.nginx-debian.html index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }

}

 

4. nginx 재부팅 

sudo service nginx restart

 

5. 접속확인