를 완료할 때 쓰는 코드에 대한 귀하의 웹 사이트 또는 웹 응용 프로그램,당신은 그것을 필요로에 배치된 위치에 실행할 수 있습 제공 콘텐츠를 사용자에게 있습니다. 이것은 웹 서버 소프트웨어가 들어오는 곳입니다. 웹 서버 소프트웨어의 간단한 구글 검색은 당신에게 선택할 수있는 솔루션의 꽤 목록을 가져올 것이다.
이 튜토리얼에서 우리의 초점은 Nginx;및 특히 어떻게 당신이 그것을 할 수 있습니에서 실행되는 우분투 18.04. Nginx 는 세계에서 가장 인기있는 웹 서버 소프트웨어 중 하나입니다. 사실,그것은에 상위 5 자리 차지 Opensource.com 순위. 그것은 인터넷에서 트래픽이 가장 높은 사이트의 가용성과 확장 성을 보장 할 책임이 있습니다. 그것은 보안을 보장하고 당신은 역방향 프록시로 사용할 수 있습니다. 그렇다면 우분투 18.04 에 Nginx 를 어떻게 설치할 수 있습니까?
전제 조건
물론 Ubuntu18.0.4 를 실행하는 컴퓨터가 이미 있으며 sudo 권한을 가진 비 루트 사용자가 있습니다. 하지 않을 경우,머리를 통해 이에 대한 링크를 다운로드 Ubuntu18.0.4,다음을 따라 가이드에 초기 서버 설치와 우분투를 만들 non-root 계정이다. 계정이 있으면 루트가 아닌 사용자로 로그인해야 다음 단계를 진행할 수 있습니다.
1 단계–설치 Nginx
우분투는 데비안을 기반으로합니다. 명령 줄에서 deb 패키지를 설치하려면 apt 또는 dpkg 명령을 사용할 수 있습니다. 우리는 더 인기가 있기 때문에 apt 명령을 사용할 것입니다. Apt 명령을 사용하면 사용자가 실행중인 특정 Linux 배포판의 기본 저장소에서 사용할 수있는 패키지를 설치할 수 있습니다. 이 경우 Ubuntu18.04 의 기본 저장소에서 Nginx 를 사용할 수 있으므로 진행할 수 있습니다. 엄지 손가락의 규칙으로,이제 설치하는 경우 모든 패키지에는 리눅스 배포판 업데이트해야 합;를 입력 터미널에서 다음 명령을 업데이트:
sudo apt update
다음을 설치하 Nginx,다음과 같이 입력한 명령:
sudo apt install nginx
지시에 따라,그리고 Nginx 에 설치 서버와 함께 필요한 종속성입니다.
2 단계–방화벽 조정
Ubuntu 의 기본 방화벽 구성 도구는 UFW 입니다. UFW 는 복잡하지 않은 방화벽의 약자이며 방화벽 구성을 쉽게하기 위해 개발되었습니다. 기본적으로 nginx 는 설치 후 ufw 로 서비스로 등록되므로 Nginx 액세스 구성이 더 쉽습니다. 첫째,다른 기사를 계속 사용을 입력하여 다음과 같은 명령:
sudo ufw enable
다음과 같은 명령 목록 응용 프로그램을 구성하는 다른 기사를 계속 수 있습니다:
sudo ufw app list
여기에 screengrab 의 어떤 당신의 터미널을 볼 수 있습니다.
It shows3 프로파일을 사용할 수 있 Nginx. 그들은 아래에 설명되어 있습니다:
- Nginx Full-포트 80 과 443 을 모두 엽니 다. 포트 80 은 정상/암호화되지 않은 트래픽,즉 http 용입니다. 포트 443 은 TLS/SSL 암호화 트래픽 용입니다. 즉 https.
- Nginx HTTP-포트 80 만 열립니다.
- Nginx HTTPS-포트 443 만 열립니다.
권장 사항으로 웹 응용 프로그램에 대해 구성한 트래픽을 허용하는 프로필 만 활성화해야합니다. 이 경우 SSL 을 구성하지 않았기 때문에 Nginx HTTP(포트 80)로 이동합니다. 다음과 같은 명령이 가능합니다:
sudo ufw allow 'Nginx HTTP'sudo ufw allow 'OpenSSH'
변경 내용을 확인하려면 다음 명령을 입력하십시오:
sudo ufw status
터미널은 아래의 screengrab 과 비슷한 것을 표시해야합니다. 알 HTTP 트래픽을 허용할 모든 곳:
3 단계 검사의 웹 서버
를 설치한 후에 Nginx Ubuntu18.04,서비스가 자동으로 시작됩니다. 이를 테스트할 수 있습니다 다음 명령을 입력하여 당신의 터미널:
systemctl status nginx
터미널에 표시해야 이런:
이 보여주는 서비스가 자동으로 시작과 그것의 실행됩니다. 이미 알고 있듯이 서버 소프트웨어의 주요 목적은 콘텐츠를 제공하는 것입니다. 이 목적을 테스트하기 위해 당신은 페이지를 요청해야합니다. 기본 Nginx 방문 페이지를 표시해야하는 브라우저에서 서버의 IP 주소에 액세스하여이 작업을 수행 할 수 있습니다. 알 수 없는 경우 서버의 IP 주소,아래의 몇 가지 명령하는 데 도움 당신은 그것을 얻을:
ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
아래의 또 다른 명령을 사용할 수 있습니다. 그것은 당신이 공용 IP 주소 보이는 위치에서 인터넷에서:
curl -4 icanhazip.com
첫 번째 명령을 얻을 당신은 주소와 같이 터미널에서 아래. 그런 다음 브라우저에서 복사하여 테스트하십시오.
브라우저가 다음 스크린 샷처럼 보이는 기본 Nginx 페이지를로드합니다. 그것을 보여줍니다 Nginx 서버가 실제로 실행되:
4 단계–기본 Nginx 관리는 명령
이미 볼 수 있는 명령의 상태를 확인 Nginx:
systemctl status nginx
이제는 우리가 서버 및 실행은 여기에 몇 가지 더 명령을 유지해야에서 손으로 관리하기 위한 Nginx 서비스입니다. 이 명령은 우분투 18.04 에서뿐만 아니라 모든 리눅스 배포판에서도 작동합니다.
서버를 중지,다음과 같이 입력한 명령:
sudo systemctl stop nginx
서버를 시작하기 위해 다음과 같이 입력한 명령:
sudo systemctl start nginx
을 할 때마다 중요한 수정을 변경 같은 포트 또는 인터페이스,당신은 웹 서버를 다시 시작 해야 합니다. 아래 명령은 서버를 다시 시작합니다:
sudo systemctl restart nginx
을 할 때마다 약간의 설정을 변경 같은 편집 서버 블록,Nginx 다시 로드할 수 있습니다없이 떨어지고 연결이 있습니다. 다음은 다시로드하는 명령입니다.
sudo systemctl reload nginx
Ubuntu OS 가 부팅 될 때 nginx 가 자동으로 서버를 시작합니다. 그러나,원하는 경우 이를 변경하려면 설정을 사용하지 않도록 설정할 수 있습 서비스를 입력하여 아래의 명령:
sudo systemctl disable nginx
고 다시 사용할 수 있도록 서비스하는 자동으로 시작 부팅할 때 기계는 다음 시간으로 입력:
sudo systemctl enable nginx
5 단계–설정을 서버 블록
할 수 있는 호스트는 여러 웹사이트(도메인)에서 하나의 웹 서버에 있습니다. 서버 블록은이를 달성하는 데 도움이됩니다. 이전에 Apache 를 사용한 적이 있다면 Nginx 의 서버 블록을 Apache Vhosts 와 비교할 수 있습니다. 상자 밖으로 Nginx 는 위의 섹션에서 기본 Nginx 페이지를로드 한 디렉토리/var/www/html 에서 실행되도록 구성된 하나의 서버 블록과 함께 제공됩니다. 이 서버 블록은 단일 사이트를 실행할 때 괜찮습니다. 그러나 많은 사이트를 운영하는 것이 문제가 될 것입니다.
우리가 만들려고 하는 다른 사이트에서 동일한 서버 및 전화 samplesite.com (이것은 단지 예를 들어,교체해야 합니다 그것은 당신의 자신의 도메인 이름).
안이/var/www/디렉토리를 만들의 또 다른 디렉토리 samplesite.com. 기본/var/www/html 을 요청을 서비스하는 일치하지 않는 다른 사이트입니다. 아래 명령은 다음에 대한 디렉토리를 만듭니다 samplesite.com 우리가 설명했듯이. -P 플래그는 명령이 필요한 상위 디렉토리를 생성하도록하는 것입니다:
sudo mkdir -p /var/www/samplesite.com/html
액세스할 수 있도록 디렉토리를 할당해야 합니다 소유권을 가진$사용자 환경 변수를
sudo chown -R $USER:$USER /var/www/samplesite.com/html
을 확인하는 권한에 대한 당신의 웹 뿌리가 올바른 다음과 같이 입력한 명령:
sudo chmod -R 755 /var/www/samplesite.com
,다음 자를 만들려고 하는 간단한 인덱스입니다.html 에서 samplesite.com 디렉토리. 을 열 수 있습니다 nano 편집기
nano /var/www/samplesite.com/html/index.html
명령이 열리는 편집기에서 당신의 터미널을 추가,다음 코드:
<html><head><title>Welcome to samplesite.com!</title></head><body><h1>Success! The samplesite.com server block is running fine!</h1></body></html>
Ctrl+O 를 입력 한 다음 Enter 키를 눌러 파일을 저장하십시오. Ctrl+X 를 입력하여 편집기를 닫습니다.그 후에 서버 블록을 만들 수 있습니다. 오히려 보다 편집하고 복잡한 기본 구성 파일을 권장 당신이 새로운 중 하나에서는/etc/nginx/사이트를 사용할 수 있/samplesite.com. 다음과 같이 입력한 명령을 열 nano 편집기
sudo nano /etc/nginx/sites-available/samplesite.com
편집기에서,다음과 같이 입력한 코드를 수정을 위한 디렉토리를 만들어집니다. 루트 이름 및 server_name 우리의 디렉토리와 우리가 봉사 할 도메인과 일치 참고:
server { listen IP_ADDRESS:80; listen :80; root /var/www/samplesite.com/html; index index.html index.htm index.nginx-debian.html; server_name samplesite.com samplesite.com; location / { try_files $uri $uri/ =404; }}
다음으로 파일을 저장하고 닫습니다.
Nginx 는 사이트 사용 디렉토리에서 구성 파일을 읽으므로 새 서버 블록에서 사이트 사용 디렉토리로 심볼릭 링크를 만들어야합니다. 다음과 같은 명령이 그렇게 하도록 요청합니다.
sudo ln -s /etc/nginx/sites-available/samplesite.com /etc/nginx/sites-enabled/
이제 당신은 두 블록버할 수 있는 두 개의 웹사이트에 Nginx 서버입니다.
다음 명령은 도메인의 요청에 응답합니다 samplesite.com 그리고 www.samplesite.com.
curl samplesite.com
고 기본 하나는 모든 요청에 응답을 타격하는 포트 80 일치하지 않은 모든 서버 블록:Nginx 서버 가능성이 있습 경험을 해시 버킷 메모리 문제를 추가하는 경우 추가적인 서버 블록입니다. 이를 방지하려면 nginx 에서 단일 파일을 조정해야합니다.conf 파일. 다음을 열고 파일 nano 편집기
sudo nano /etc/nginx/nginx.conf
그 찾기 지침:server_names_hash_bucket_size 고 제거하는 기호를 주석,그래서 그것은 다음과 같습니다:
http { server_names_hash_bucket_size 64;}
다음으로,저장 및 파일을 닫습니다.
을 테스트하는 귀하의 모든 Nginx 파일 오류가 없다,당신은 다음과 같이 입력한 명령:
sudo nginx -t
모든 것이 잘 하는 경우,당신은 다음과 같은 내용이 표시될 것입니다.
구성에 대한 변경 사항을 적용하기, 해야 합니다 처음 시작 Nginx 서버를 사용하여 아래의 명령:
sudo systemctl restart nginx
,지금 도메인을 입력하고 확인해야 합 html 페이지를 우리가 만들어집니다.
6 단계-알아야 할 중요한 Nginx 파일 및 디렉토리
- 주요 콘텐츠 디렉토리
–/var/www/html: 기본 nginx 페이지는이 디렉토리에 저장됩니다. 그것은 당신이 당신의 서버 IP 주소에 액세스 할 때 당신이 볼 수있는 실제 내용입니다. Nginx 구성 파일을 변경하여 이 동작을 변경할 수 있습니다.
- Nginx 구성 디렉토리
-/etc/nginx:모든 Nginx 구성 파일을 포함하는 기본 디렉토리입니다.나는 이것을 할 수 없다.conf:Nginx 서버에서 전역 변경을 수행하도록 변경할 수있는 기본 Nginx 구성 파일입니다.
–/etc/nginx/sites-available/:사이트 별 서버 블록을 저장하는 디렉토리입니다. 모든 서버 블록이이 폴더에 있습니다. 심볼릭 링크는 사이트 사용 디렉토리에 연결됩니다. 이 디렉터의 내용을 나열하면 기본 Nginx 서버 블록뿐만 아니라 우리가 만든 서버 블록을 볼 수 있어야합니다.
–/etc/nginx/sites-enabled/:이 디렉토리에 enabled per-site 서버 블록이 있습니다. 이들은 사이트 사용 가능한 디렉토리의 실제 구성 파일에 연결됩니다.
-/etc/nginx/스 니펫/:다른 구성에 포함될 수있는 구성 스 니펫을 저장하는 디렉토리(예: 반복적 인 구성 스 니펫.
- 서버 로그
–/var/log/nginx/access.로그:이 파일에 기록하는 모든 요청중하지 않는 한 서버를 구성 Nginx 에 저장하는 또 다른 파일이나 다른 작업을 수행 할 수 있습니다.
–/var/log/nginx/error.로그:이 파일은 모든 Nginx 오류를 기록합니다. 서버가 예상대로 실행되지 않을 때 문제 해결을 위해 올 곳입니다.
결론
우리는 여행의 끝에 왔습니다. Ubuntu18 에 Nginx 를 설치했습니다.04,방화벽을 구성하고 서버 블록을 구성하며 브라우저에서 사이트에 액세스 할 수 있도록 보장했습니다. 축하합니다! 이제 사용자에게 제공하려는 콘텐츠를 파악하는 것은 사용자의 몫입니다.
해피 컴퓨팅!