데비안에서 NFS 공유 설정
NFS는 컴퓨터가 컴퓨터 네트워크를 통해 파일에 액세스 할 수 있도록하는 네트워크 기반 파일 시스템입니다. 이 가이드는 NF를 통해 폴더를 노출하는 방법을 설명합니다
Nginx 는 높은 동시성을 염두에두고 설계된 오픈 소스 웹 서버 소프트웨어로, HTTP / HTTPS 서버, 리버스 프록시 서버, 메일 프록시 서버, 소프트웨어로드 밸런서, TLS 터미네이터, 캐싱 서버 등으로 사용할 수 있습니다!
매우 모듈화 된 소프트웨어입니다. GZIP 또는 SSL과 같은 소프트웨어의 "내장"부분 중 일부조차도 실제로 빌드 시간 동안 활성화 및 비활성화 할 수있는 모듈로 생성됩니다.
커뮤니티에 의해 작성된 핵심 (네이티브) 모듈과 타사 (외부) 모듈 이 있습니다. 현재 우리가 활용할 수있는 백여 개 이상의 타사 모듈이 있습니다.
C로 작성된이 소프트웨어는 빠르고 가벼운 소프트웨어입니다.
소스 코드에서 Nginx를 설치하는 것은 비교적 쉽습니다. 최신 버전의 Nginx 소스 코드를 다운로드하여 구성, 빌드 및 설치하십시오.
메인 라인을 다운로드할지 안정적인 버전을 다운로드할지 선택해야하지만 빌드는 동일합니다.
이 안내서에서는 데비안 10 (버스터)에서 메인 라인 버전의 Nginx를 컴파일합니다. Nginx의 오픈 소스 버전에서 사용 가능한 모든 모듈을 사용합니다.
준비된 패키지를 사용할 수있을 때 소스에서 Nginx를 컴파일하는 이유를 물을 것입니다. 특정 소프트웨어를 직접 컴파일해야하는 이유는 다음과 같습니다.
Nginx 오픈 소스는 두 가지 버전으로 제공됩니다.
Nginx에는 활용할 수있는 두 가지 유형의 모듈이 있습니다 : 코어 모듈과 타사 모듈.
핵심 Nginx 개발자는 핵심 모듈을 구축하며 소프트웨어 자체의 일부입니다.
커뮤니티는 써드 파티 모듈을 빌드하고이를 사용하여 기능을 확장 할 수 있습니다. 유용한 타사 모듈이 많이 있습니다.
정적 모듈은 첫 번째 버전부터 Nginx에 존재합니다. 동적 모듈은 2016 년 2 월 Nginx 1.9.11+에서 도입되었습니다.
정적 모듈을 사용하면 Nginx 바이너리를 구성하는 모듈 세트가 ./configure
스크립트에 의해 컴파일시 고정됩니다 . 정적 모듈 사용 --with-foo_bar_module
또는 --add-module=PATH
구문.
=dynamic
예를 들어 코어 (표준) 모듈을 동적으로 컴파일하기 위해 추가 --with-http_image_filter_module=dynamic
합니다.
타사 모듈을 동적으로 컴파일하려면 --add-dynamic-module=/path/to/module
구문을 사용한 load_module
다음 nginx.conf
파일 의 글로벌 컨텍스트에서 지시문 을 사용하여로드합니다 .
다른 일부 UNIX / Linux 소프트웨어와 비교할 때 Nginx는 매우 가벼우 며 많은 라이브러리 종속성이 없습니다. 기본 빌드 구성은 설치할 3 개의 라이브러리 (OpenSSL / LibreSSL / BoringSSL, Zlib 및 PCRE)에만 의존합니다.
참고 : Nginx는 OpenSSL 대신 LibreSSL 및 BoringSSL 암호화 라이브러리에 대해서도 컴파일 할 수 있습니다.
데비안 버전을 확인하십시오.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
sudo
액세스 권한이 있는 일반 사용자를 작성하십시오 .
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
참고 : 대체 johndoe
사용자 이름과 함께 .
새로운 사용자로 전환하십시오.
su - johndoe
시간대를 설정하십시오.
sudo dpkg-reconfigure tzdata
운영 체제 소프트웨어를 업데이트하십시오.
sudo apt update && sudo apt upgrade -y
필요한 패키지를 설치하십시오.
sudo apt install -y software-properties-common ufw
Nginx는 C로 작성된 프로그램이므로 먼저 컴파일러 도구를 설치해야합니다. 설치 build-essential
, git
및 tree
.
sudo apt install -y build-essential git tree
최신 메인 라인 버전의 Nginx 소스 코드를 다운로드하고 소스 코드 아카이브를 압축 해제하십시오. Nginx 소스 코드는 대부분의 Unix 및 Linux 소프트웨어와 같이 압축 된 아카이브로 배포됩니다.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
필수 Nginx 의존성 소스 코드를 다운로드하여 추출하십시오.
# PCRE version 8.43
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz && tar xzvf pcre-8.43.tar.gz
# zlib version 1.2.11
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz
선택적 Nginx 종속성을 설치하십시오.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
모든 .tar.gz
파일을 정리 하십시오. 더 이상 필요하지 않습니다.
rm -rf *.tar.gz
Nginx 소스 디렉토리를 입력하십시오.
cd ~/nginx-1.17.2
Nginx 소스 코드를 구성하는 디렉토리 및 파일을 제대로 측정하려면를 사용하십시오 tree
.
tree -L 2 .
매뉴얼 페이지를에 복사하십시오 /usr/share/man/man8/
.
sudo cp ~/nginx-1.17.2/man/nginx.8 /usr/share/man/man8
sudo gzip /usr/share/man/man8/nginx.8
ls /usr/share/man/man8/ | grep nginx.8.gz
# Check that man page for Nginx is working
man nginx
도움이 필요하면 다음을 실행하여 최신 Nginx 컴파일 타임 옵션의 전체 목록을 볼 수 있습니다.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
Nginx를 설정, 컴파일 및 설치하십시오.
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Debian \
--builddir=nginx-1.17.2 \
--with-select_module \
--with-poll_module \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-perl_modules_path=/usr/share/perl/5.26.1 \
--with-perl=/usr/bin/perl \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre=../pcre-8.43 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.1c \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
편집 후 홈 ( ~
) 디렉토리로 이동하십시오 .
cd ~
심볼릭 링크 /usr/lib/nginx/modules
에 /etc/nginx/modules
. 이것은 Nginx 모듈의 표준 장소입니다.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Nginx 버전, 컴파일러 버전을 인쇄하고 스크립트 매개 변수를 구성하십시오.
sudo nginx -V
# nginx version: nginx/1.17.2 (Debian)
# built by gcc 8.3.0 (Debian 8.3.0-6)
# built with OpenSSL 1.1.1c 28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules . . .
# . . .
# . . .
Nginx 시스템 그룹 및 사용자를 작성하십시오.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
# Check that user and group are created
sudo tail -n 1 /etc/passwd /etc/group /etc/shadow
Nginx 구문과 잠재적 오류를 확인하십시오.
sudo nginx -t
# Will throw this error -> nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Create NGINX cache directories and set proper permissions
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*
# Re-check syntax and potential errors.
sudo nginx -t
Nginx 시스템 단위 파일을 작성하십시오.
sudo vim /etc/systemd/system/nginx.service
/etc/systemd/system/nginx.service
다음 내용으로 파일을 채우십시오 .
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
부팅시 Nginx를 시작하고 Nginx를 즉시 시작하십시오.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
재부팅 후 Nginx가 자동으로 시작되는지 확인하십시오.
sudo systemctl is-enabled nginx.service
# enabled
상태를 확인하십시오.
sudo systemctl status nginx.service
참고 : 웹 브라우저에서 사이트의 도메인 또는 IP 주소로 이동하여 Nginx가 실행 중인지 확인할 수 있습니다. Nginx 시작 페이지가 나타납니다. 이는 Nginx가 VPS에서 가동되고 있음을 나타내는 지표입니다.
UFW Nginx 애플리케이션 프로파일을 작성하십시오.
sudo vim /etc/ufw/applications.d/nginx
다음 내용을 /etc/ufw/applications.d/nginx
파일에 복사 / 붙여 넣기 하십시오.
[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp
[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp
[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp
UFW 애플리케이션 프로파일이 작성되고 인식되는지 확인하십시오.
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Nginx는 기본적으로에 백업 .default
파일을 생성 합니다 /etc/nginx
. 디렉토리 .default
에서 파일을 제거하십시오 /etc/nginx
.
sudo rm /etc/nginx/*.default
Vim 편집 기용 Nginx 구성의 구문 강조 표시를에 삽입하십시오 ~/.vim
.
# For regular non-root user
mkdir ~/.vim/
cp -r ~/nginx-1.17.2/contrib/vim/* ~/.vim/
# For root user
sudo mkdir /root/.vim/
sudo cp -r ~/nginx-1.17.2/contrib/vim/* /root/.vim/
참고 : 위의 단계를 수행하면 Vim 편집기에서 Nginx 구성 파일을 편집 할 때 구문 강조 표시가 나타납니다.
conf.d
에 snippets
, sites-available
및 sites-enabled
디렉토리를 만듭니다 /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Nginx 로그 파일의 권한 및 그룹 소유권을 변경하십시오.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Nginx에 대한 로그 회전 구성을 작성하십시오.
sudo vim /etc/logrotate.d/nginx
다음 텍스트로 파일을 채우고 저장하고 종료하십시오.
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
홈 디렉토리에서 다운로드 한 파일을 모두 제거하십시오.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
그게 다야. 이제 최신 버전의 Nginx가 설치되었습니다. OpenSSL과 같은 일부 중요한 라이브러리에 대해 정적으로 컴파일됩니다. 종종 시스템 제공 버전의 OpenSSL이 오래되었습니다. 최신 버전의 OpenSSL과 함께 설치하는이 방법을 사용하면 OpenSSL에서 CHACHA20_POLY1305
사용 가능한 TLS 1.3과 같은 최신 암호 및 프로토콜 을 활용할 수 있습니다 1.1.1
. 또한, 자신의 바이너리를 컴파일함으로써 Nginx가 제공 할 기능을 맞춤화 할 수 있으며, 이는 사전 빌드 된 바이너리를 설치하는 것보다 훨씬 유연합니다.
NFS는 컴퓨터가 컴퓨터 네트워크를 통해 파일에 액세스 할 수 있도록하는 네트워크 기반 파일 시스템입니다. 이 가이드는 NF를 통해 폴더를 노출하는 방법을 설명합니다
WebDAV (Web Distributed Authoring and Versioning)는 파일을 원격으로 작성하고 수정할 수있는 프레임 워크를 제공하는 HTTP 확장입니다.
이 기사는 데비안에서 chroot jail을 설정하는 방법을 알려줍니다. 데비안 7.x를 사용한다고 가정합니다. 데비안 6 또는 8을 실행하고 있다면 작동 할 수 있습니다.
소개 데비안에서 VPN 서버를 설정하는 쉬운 방법은 PiVPN을 사용하는 것입니다. PiVPN은 OpenVPN 용 설치 프로그램 및 래퍼입니다. 그것은 당신을 위해 간단한 명령을 만듭니다
다른 시스템을 사용하십니까? Brotli는 Gzip보다 압축률이 더 좋은 새로운 압축 방법입니다. 소스 코드는 Github에서 공개적으로 호스팅됩니다. 티
다른 시스템을 사용하십니까? Neos는 CMS와 응용 프로그램 프레임 워크가 핵심 인 콘텐츠 응용 프로그램 플랫폼입니다. 이 가이드는 설치하는 방법을 보여줍니다
소개 Cacti는 RRD 데이터를 기반으로하는 오픈 소스 모니터링 및 그래프 도구입니다. Cacti를 통해 거의 모든 유형의 희생자를 모니터링 할 수 있습니다
Go (Golang이라고도 함)는 Google에서 개발 한 정적으로 형식이 지정된 컴파일 된 C 유사 프로그래밍 언어입니다. 단순성과 다목적 성으로 인해 b가되었습니다.
소개 FFmpeg는 비디오 및 오디오 인코딩 / 디코딩을위한 오픈 소스 명령 줄 도구입니다. 주요 특징은 고속, 품질 및 작은 fil입니다
다른 시스템을 사용하십니까? TermRecord는 Python으로 작성된 간단한 오픈 소스 도구로, 터미널 세션을 공유하기 쉬운 자체 오염 물질에 저장할 수 있습니다.
다른 시스템을 사용하십니까? Matomo (이전 Piwik)는 Google 애널리틱스의 대안 인 오픈 소스 분석 플랫폼입니다. Matomo 소스가 호스팅됩니다
이 기사는 Vultr에서 템플릿으로 제공되는 서버 운영 체제에 대한 간략한 개요를 제공합니다. CentOS CentOS는 RHEL의 공개 소스 버전입니다 (Re
다른 시스템을 사용하십니까? X-Cart는 다양한 기능과 통합 기능을 갖춘 매우 유연한 오픈 소스 전자 상거래 플랫폼입니다. X-Cart 소스 코드는 호스트입니다
Munin은 시스템의 프로세스 및 리소스를 조사하고 웹 인터페이스를 통해 그래프로 정보를 제공하는 모니터링 도구입니다. 다음을 사용하십시오
다른 시스템을 사용하십니까? Tiny Tiny RSS Reader는 무료로 제공되는 오픈 소스 자체 호스팅 웹 기반 뉴스 피드 (RSS / Atom) 리더 및 수집기입니다.
소개이 튜토리얼에서는 CentOS, Debian 또는 Ubuntu를 실행하는 Linux 서버에 전체 IP 범위 / 서브넷을 추가하는 프로세스를 다룹니다. 프로세스
이 가이드에서는 데비안 7에서 카운터 스트라이크 : 소스 게임 서버를 설정합니다.이 명령은 데비안 7에서 테스트되었지만 작동해야합니다.
다른 시스템을 사용하십니까? 이 튜토리얼에서는 Debian Wheezy를 새로 설치할 때 그룹웨어 iRedMail을 설치하는 방법을 보여줍니다. 서브를 사용해야합니다
다른 시스템을 사용하십니까? 디아스포라는 프라이버시를 인식하는 오픈 소스 소셜 네트워크입니다. 이 학습서에서는 Diaspora po를 설정하고 구성하는 방법을 학습합니다.
다른 시스템을 사용하십니까? PyroCMS는 PHP로 작성된 오픈 소스 CMS입니다. PyroCMS 소스 코드는 GitHub에서 호스팅됩니다. 이 가이드에서는 입구를 잘 살펴보십시오.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구
우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true
과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.
26가지 빅 데이터 분석 기법에 대한 통찰: 1부
의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.