기사는 다음에서 복제됩니다: https://typecodes.com/web/centos7compilenginx.html
컴파일 오류가 있는 경우 다음을 확인하십시오: https://typecodes.com/web/solvenginxcompileerror.html
1 의존 라이브러리 구성, Nginx1.9.0 컴파일 및 설치
먼저 로그인 권한이 없는 nginx라는 사용자와 nginx라는 사용자 그룹을 만든 다음 nginx에 필요한 종속 라이브러리와 종속 패키지를 설치하고 마지막으로 .configure를 통해 설치 세부 정보를 구성합니다. . 또한 pcre tar 패키지 백업 주소(https://dn-vfhky.qbox.me/libs/nginx/pcre-8.36.tar.gz) 및 zlib tar 패키지 백업 주소(https://dn -vfhky)를 추가합니다. .qbox.me/libs/nginx/zlib-1.2.8.tar.gz.
#######새 nginx 사용자 및 nginx 그룹 생성
[root@typecodes ~]# groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
# ######yum은 nginx에 필요한 종속 라이브러리를 설치합니다
[root@typecodes ~]# yum -y install openssl openssl-devel libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed
## #####공식 홈페이지에서 Nginx1.9.0의 tar 패키지를 다운로드한 후 서버에 압축을 푼다
[root@typecodes ~]# wget -c http://nginx.org/download/ nginx-1.9.0.tar.gz
[root@typecodes ~]# tar -zxf nginx-1.9.0.tar.gz && cd nginx-1.9.0
#######다운로드 Nginx의 재작성 기능을 지원하기 위해 pcre의 tar 패키지를 압축 해제합니다.
[root@typecodes nginx-1.9.0]# wget -c http://git.typecodes.com/libs/php/pcre-8.36.tar.gz && tar -zxf pcre-8.36.tar.gz
#######zlib tar 패키지를 다운로드하고 압축을 풀어 Nginx의 Gzip 압축 기능을 지원합니다
[root@typecodes nginx-1.9.0]# wget -c http://git .typecodes.com/libs/nginx/zlib-1.2.8.tar.gz
[root@typecodes nginx-1.9.0]# tar -zxf zlib-1.2.8.tar. gz
### ####Nginx1.9.0 설치에 필요한 디렉터리 생성
[root@typecodes nginx-1.9.0]# cd /var/tmp/ && mkdir -p /var/tmp/nginx /{client,proxy, fastcgi,uwsgi,scgi}
[root@typecodes tmp]# mkdir -p /var/run/nginx && cd ~/nginx-1.9.0
준비 완료 후 시작 Nginx-1.9 .0 설치 세부 사항의 공식 구성.아래의 매개변수 구성 구성을 사용할 때 먼저 백슬래시 "" 뒤에 추가된 주석 텍스트를 제거해야 합니다. ! !
[root@typecodes nginx-1.9.0]# ./configure
--prefix=/usr/share/nginx > [Nginx의 sbin 디렉터리]
--conf-path=/etc/nginx/nginx .conf > [Nginx 오류 로그]
--http-log-path=/var/log/nginx/access.log [Nginx 액세스 로그]
--pid-path=/var/run/nginx/nginx .pid ~ [Nginx 사용자는 그룹에 속함] -With-HTTP_SSL_MODULE [nginx의 SSL 모듈]
-With-HTTP_SPDY_MODULE [Nginx의 Google SPDY 모듈]
-With-HTTP_DAV_MODULE FLV_MODULE
--with- http_realip_module
--with-http_addition_module
--with-http_xslt_module
--with-http_stub_status_module
--with-http_sub_module
--with-http_random_index_module
-- with-http_degradation_module
--http_secure_link_module
--http_gzip_static_module > [pcre 설치 디렉터리]
--with-zlib=zlib-1.2.8 ~ . -mail
--mail_ssl_module
-- http-client-body-temp-path=/var/tmp/nginx/client_body
--http-proxy-temp-path=/var/tmp /nginx/proxy
--http-fastcgi-temp- 경로=/var/tmp/nginx/fastcgi
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
- -http-scgi-temp-path=/var/tmp/nginx /scgi
--with-stream > E" [gcc의 컴파일 최적화]
참고: 다음은 형식화된 데이터이므로 직접 복사하세요.
문제가 발생할 수 있습니다: ./configure: 오류: perl 모듈 ExtUtils::Embed가 필요합니다
문제 설명: 이 모듈이 없습니다. 다음을 설치하려면 yum이 필요합니다.
솔루션: yum install perl perl-devel perl-ExtUtils-Embed
./configure --prefix= /usr/share/nginx --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 -- 사용자=nginx
--group=nginx --with-http_ssl_module --with-http_spdy_module --with-http_dav_module --with-http_flv_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_stub_status_module --with-http_sub_module --with-http_random_index_module
--with-http_degradation_module --with-http_secure_link_module --with-http_gzip_static_module --with-http_perl_module --with-pcre=pcre-8.36 --with-zlib=zlib-1.2.8 --with-debug --with-file -aio --with-mail --with-mail_ssl_module --http-client-body-temp-path=/var/tmp/nginx/client_body
--http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp /nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-stream --with-ld-opt="-Wl,-E"
구성 프로세스에는 약 5년 정도
2 구성이 완료된 후 직접 컴파일하고 설치하면 됩니다
마지막으로 [root@typecodes nginx-1.9.0]# make && make install 명령을 직접 실행하여 설치합니다.
[root@typecodes nginx-1.9.0]# make && make install
3 Nginx1.9.0이 제대로 작동하도록 구성
Nginx1.9.0을 성공적으로 설치한 후 부팅, SSL을 포함한 일부 구성을 수행해야 합니다. /HTTPS 서비스 등 그 중 Nginx 서비스 제어 스크립트 nginx는 "Nginx 서비스 시작, 중지 및 다시 시작을 위한 SHELL 스크립트" 기사에서 찾을 수 있습니다.
https://typecodes.com/web/nginxserviceoptshell.html
#######Nginx 서비스 제어 스크립트 nginx를 업로드하고 실행 권한을 부여한 후 설치 패키지를 삭제하고 Nginx 서비스를 추가합니다. 시작
이 단계에서는 nginx 서비스 스크립트가 없을 수 있습니다. 직접 다운로드하거나 아래 스크립트를 복사한 다음 파일 이름을 nginx
#File Start
#!/bin/bash#
# nginx - 이 스크립트는 nginx daemin을 시작하고 중지합니다
#
# chkconfig: - 85 15
# 설명: Nginx는 HTTP(S) 서버, HTTP(S) 역방향
# 프록시 및 IMAP/POP3 프록시 서버
# 프로세스 이름: nginx
# 구성: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/ nginx.pid
# 소스 함수 라이브러리.
. /etc/rc.d/init.d/functions
# 소스 네트워킹 구성.
./etc/sysconfig/network
# 확인 네트워킹이 작동 중입니다.
[ "$NETWORKING" = "no" ] && 종료 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_C/usr/local /nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || 종료 5
[ -f $NGINX_CONF_FILE ] || 종료 6
echo -n $"$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 $ ?
중지
시작
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
에코
}
force_reload() {
다시 시작
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status( ) {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
시작)
rh_status_q && 종료 0
$1
;;
중지)
rh_status_q || 종료 0
$1
;;
restart|configtest )
$1
;;
다시 로드)
rh_status_q || 종료 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || 종료 0
;;
*)
echo $"사용법: $0 {start |stop|status|restart| condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
#파일 끝
[root@typecodes ~]# mv ~ /nginx /etc/init.d /nginx && chmod +x /etc/init.d/nginx
/etc/init.d/nginx가 존재하는 경우 덮어쓰지 말고 chmod +x /etc/init를 실행하세요. .d/nginx
[root@ typecodes ~]# rm -rf nginx-1.9.0*
[root@typecodes ~]# chkconfig --add nginx
[root@typecodes ~]# chkconfig nginx on
###### # 구성이 정상인지 테스트
root@typecodes ~]# nginx -t
nginx: 구성 파일 /etc/nginx/nginx.conf 구문이 괜찮습니다
nginx: 구성 파일 /etc/nginx/nginx.conf 테스트가 성공했습니다
#######새 Nginx 프로세스 로그 nginx.pid 디렉터리를 만들고 서비스를 시작합니다
호환되도록 이 mkdir을 추가하세요. 서버 재시작
[root@typecodes ~ ]# mkdir -p /var/run/nginx/
[root@typecodes ~]# 서비스 nginx 시작
위 내용은 관련 측면을 포함하여 CentOS 71에서 nginx의 컴파일 및 설치를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.