Nginx
웹사이트, 클라우드 등을 만들기 위해서는 웹 서버가 필요합니다.
아파치, Nginx 등 다양한 웹 서버 중에서 가벼운 Nginx 를 설치하겠습니다.
$ sudo apt update
$ sudo apt install nginx
위 명령줄을 이용하여 Nginx를 설치해 줍니다.
Nginx 서버 블록
Nginx 에서 웹 사이트의 설정은 'server { }' 형태로 구성됩니다.
이것을 서버 블록이라고 부릅니다.
Nginx에서 서버 블록 파일은
/etc/nginx/sites-available/
/etc/nginx/sites-enabled/
위 두가지 경로에 위치합니다.
sites-available 경로에 있으면 웹 사이트를 나타낼 준비는 되었지만, 작동은 하지 않는 상태이고,
sites-enabled 경로에 있으면 설정한 도메인/IP주소로 접속했을 때 웹 사이트가 나타납니다.
심볼릭 링크를 통하여 sites-available 에 있는 설정파일을 sites-enabled에 연결하면
둘 중 1파일만 수정하면 바로 두군데 모두 적용이 되므로 설정이 간편합니다.
웹 사이트 공간 만들기
도메인을 사용해서 접속할 때 그 웹 사이트가 사용할 공간을 만들어 줍니다.
$ sudo mkdir -p /var/www/test/html
빨간색으로 해 놓은 부분은 자신이 구분하기 쉽도록 명명하면 됩니다.
편하게 도메인 주소를 적어도 좋고, 용도에 따라 이름을 설정해도 좋습니다.
$ sduo chown -R www-data:www-data /var/www/test/html
웹 사이트에서 그 공간에 접속하기 위해서는 그 폴더의 소유자가 www-data여야합니다.
그래서 폴더의 소유를 www-data로 설정해 줍니다.
테스트 웹 페이지 만들기
$ sudo nano /var/www/test/html/index.html
Nginx 가 제대로 작동하는지 확인하기 위한 확인용 index.html을 만들어 줍니다.
<html>
<head>
<title>테스트 페이지</title>
</head>
<body>
테스트
</body>
</html>
간단하게 테스트 문구가 나오도록 작성하고 저장한 뒤 나옵니다.
서버 블록 만들기
$ sudo nano /etc/nginx/sites-available/test
웹 사이트의 서버 블록파일을 만들어 줍니다.
server {
listen 80 default_server;
root /var/www/test/html;
index index.html;
server_name example.com www.example.com
location / {
try_files $uri $uri/ =404;
}
}
80번 포트로 접속을 하고, 위에서 만든 index.html 파일을 나타나게 하고,
만약 웹사이트 폴더가 비어있으면 404 오류가 나타나게 하는 것입니다.
작성을 다 했으면 저정하여 나온 뒤 이를 심볼릭 링크로 sites-enabled로 연결해줍니다.
$ sudo ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/
Nginx 재시작
재시작을 통하여 설정한 것이 적용 되도록 해줍니다.
$ sudo nginx -t
위에서 작성한 서버블록 파일에서 문법 오류가 없는지 확인 합니다.
ok와 successful이 나온다면 정상적으로 된것입니다.
오류가 없다면 Nginx를 재시작해 줍니다.
$ sudo systemctl restart nginx
재시작이 되면 웹 브라우저로 도메인에 접속해 보고
작성한 테스트 페이지가 나오는지 확인합니다.
'Develop > Server' 카테고리의 다른 글
[Raspberry Pi] 9. Raspberry Pi 3 B+ 나스 만들기 - NextCloud 설치(2) (1) | 2019.01.30 |
---|---|
[Raspberry Pi] 8. Raspberry Pi 3 B+ 나스 만들기 - NextCloud 설치(1) (0) | 2019.01.25 |
[Raspberry Pi] 6. Raspberry Pi 3 B+ 나스 만들기 - TLS 인증서 (1) | 2019.01.23 |
[Raspberry Pi] 5. Raspberry Pi 3 B+ 나스 만들기 - DNS와 도메인 (0) | 2019.01.22 |
[Raspberry Pi] 4. Raspberry Pi 3 B+ 나스 만들기 - SSH 원격 연결 설정 (0) | 2019.01.21 |