Ubuntu 18.04 수 동 컴 파일 설치 nginx
sudo apt-get update
# :gcc、g++
sudo apt-get install build-essential libtool
# pcre (http://www.pcre.org/)
sudo apt-get install libpcre3 libpcre3-dev
# zlib (http://www.zlib.net)
sudo apt-get install zlib1g-dev
# ssl
sudo apt-get install openssl
1. nginx 소스 패키지 다운로드 및 압축 풀기
wget http://nginx.org/download/nginx-1.15.8.tar.gz
tar xvzf nginx-1.15.8.tar.gz
cd nginx-1.15.8/
2. 컴 파일
압축 해제 후 nginx 디 렉 터 리 로 전환 하여 실행:
sudo ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock
sudo make
sudo make install
매개 변수 설명: 컴 파일 옵션 은 공식 적 으로 제공 합 니 다: – prefix = path 는 nginx 가 제공 하 는 기능 을 저장 하 는 디 렉 터 리 를 정의 합 니 다. 이것 은 우리 가 소프트웨어 를 설치 할 때 소프트웨어 에 저 장 된 디 렉 터 리 와 같 습 니 다. 만약 에 우리 가 컴 파일 한 설치 위 치 를 지정 하지 않 으 면 기본 위치 / usr / local / nginx 디 렉 터 리 – sbin - path = path 는 nginx 가 스 크 립 트 를 실행 하 는 위 치 를 설정 합 니 다.path 변수 에 설정 되 어 있 으 면 bash 환경 에서 nginx 명령 을 임의로 사용 할 수 있 습 니 다. 기본 위치 prefix / sbin / nginx 는 설정 파일 에 설 치 된 경로 – conf - path = path 설정 nginx 설정 파일 의 경 로 를 지정 하지 않 으 면그러면 프로필 의 기본 경 로 는 prefix / conf / nginx. conf – pid - path = path 설정 nginx. pid file 의 경로 입 니 다. 일반적으로 프로 세 스 가 실 행 될 때 프로 세 스 id 가 있 습 니 다. 이 id 는 pid file 에 저 장 됩 니 다. 기본 pid file 의 배치 위 치 는 prefix / logs / nginx. pid – error - log - path = path 설정 오류 로그 의 저장 경로 입 니 다.지정 하지 않 으 면 기본 prefix / logs / error. log – http - log - path = path 는 http 접근 로그 의 경 로 를 설정 합 니 다. 지정 하지 않 으 면 기본 prefix / logs / access. log – user = name 은 기본 시작 프로 세 스 의 사용 자 를 설정 합 니 다. 지정 하지 않 으 면 기본 nobody – group = name 은 이 사용자 가 있 는 사용자 그룹 을 설정 합 니 다. 지정 하지 않 으 면,여전히 nobody 입 니 다. 이것 은 우리 가 자주 사용 하 는 컴 파일 옵션 입 니 다. 다른 것 은 모두 기본 값 을 유지 할 수 있 습 니 다. 특별한 지정 이 필요 하 다 면 nginx 홈 페이지 에서 찾 아 볼 수 있 습 니 다.http://nginx.org/en/docs/configure.html 다음은 자주 사용 되 지 않 는 옵션 입 니 다 - with - httpssl_module - NGINX 가 HTTPS 요청 을 지원 할 수 있 도록 HTTP SSL 모듈 을 엽 니 다.OPENSL 을 설치 해 야 합 니 다 – with - httpflv_module –with-http_stub_status_module - "server status" 페이지 사용 (있 으 나 마 나) – without - httpgzip_module - ngx 사용 하지 않 기http_gzip_module. 활성화 하려 면 zlib 가 필요 합 니 다.without-http_ssi_module - ngx 사용 하지 않 기http_ssi_module –without-http_referer_module - ngx 사용 하지 않 기http_referer_module –without-http_rewrite_module - ngx 사용 하지 않 기http_rewrite_module. 사용 하려 면 PCRE 가 필요 합 니 다.without-http_proxy_module - ngx 사용 하지 않 기http_proxy_module –without-http_fastcgi_module - ngx 사용 하지 않 기http_fastcgi_module –without-http_memcached_module - ngx 사용 하지 않 기http_memcached_module –without-http_browser_module - ngx 사용 하지 않 기http_browser_module – http - proxy - temp - path = PATH - http 프 록 시 임시 파일 로 path 설정 – http - fastcgi - temp - path = PATH - http fastcgi 임시 파일 로 path 설정 – without - http - http 서버 사용 금지 (프 록 시 또는 역방향 프 록 시 사용) – with - mail - IMAP 4 / POP 3 / SMTP 프 록 시 모듈 사용 – with - mailssl_module - ngx 사용mail_ssl_module –with-openssl=DIR - Set path to OpenSSL library sources
발생 가능 한 오류: 오류 1:
./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre= option.
해결 방법: sudo apt-get install libpcre3 libpcre3-dev
오류 2: ./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib= option.
해결 방법: zlib 라 이브 러 리 다운로드, 주소:http://www.zlib.net/ wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar xvzf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make
# , yes
make check
sudo make install
오류 3:
SSL modules require the OpenSSL library
해결 방법: sudo apt-get install openssl libssl-dev
3. 기타 명령#
whereis nginx
#
sudo nginx
# Nginx
ps -ef|grep nginx
#Nginx
sudo nginx -s stop
sudo nginx -s quit
sudo nginx -s reload
nginx - s quit: 이 방식 의 정지 절 차 는 nginx 프로 세 스 처리 작업 이 끝나 면 정지 하 는 것 입 니 다.nginx - s stop: 이 방식 은 nginx 프로 세 스 id 를 먼저 찾 은 다음 kill 명령 을 사용 하여 프로 세 스 를 강제로 죽 이 는 것 과 같 습 니 다.
주: - s 는 모두 Nginx 에 신 호 를 보 내 는 방식 을 사용한다.
4. 공식 시작 스 크 립 트 내용, 자동 시작 에 사용 (이하 테스트 되 지 않 음)
nginx 공식 스 크 립 트 주소
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -n "$user" ]; then
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 두 수의 최대 공약수 구하 기 (세 가지 방법)자바 두 수의 최대 공약수 구하 기 (세 가지 방법) 1. 역법 전에 저도 몰 랐 습 니 다. 인터넷 에서 찾 아 봤 는데 0 과 0 이 아 닌 수의 약 수 는 모두 이 0 이 아 닌 숫자 입 니 다. 결실 2. 전...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.