centos 7 에 Nginx 설치 (yum 방식 과 소스 코드 방식)
11195 단어 linux
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#
yum search nginx
2. Nginx 설치
yum install -y nginx
3. Nginx 를 시작 하고 자동 실행 설정
systemctl start nginx.service
systemctl enable nginx.service
다음은 Nginx 의 기본 경로 입 니 다.
2. 소스 코드 설치
# 、
groupadd nginx
useradd nginx -M -s /sbin/nologin -g nginx
가방 에 의존 하려 면 먼저 설치 해 야 한다.
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
컴 파일 매개 변수 설정
./configure
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--http-client-body-temp-path=/usr/local/nginx/tmp/client \
--http-proxy-temp-path=/usr/local/nginx/tmp/proxy \
--http-fastcgi-temp-path=/usr/local/nginx/tmp/fcgi \
--http-uwsgi-temp-path=/usr/local/nginx/tmp/uwsgi \
--http-scgi-temp-path=/usr/local/nginx/tmp/scgi \
--with-pcre \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_stub_status_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-threads \
--with-stream \
--with-stream_ssl_module \
컴 파일 및 설치
#
make
make install
설정 확인
#
/usr/local/nginx/sbin/nginx -t
소유자 와 작업 권한 설정
#
chown -R nginx:nginx nginx
#
chmod -R 755 nginx
부팅 설정
vim /usr/lib/systemd/system/nginx.service
그리고 편집 을 해 보도 록 하 겠 습 니 다.
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
User=nginx
Group=nginx
PrivateTmp=true
[Install]
WantedBy=multi-user.target
편집 저장 후
#
systemctl daemon-reload
##【 】
#
systemctl start nginx
#
systemctl stop nginx
#
systemctl restart nginx
#
systemctl status nginx
#
systemctl enable nginx
#
firewall-cmd --zone=public --add-port=80/tcp --permanent
#
firewall-cmd --reload
3. 루트 가 아 닌 사용자 가 nginx 를 시작 할 수 없 는 문 제 를 해결 하고 설정 한 후에 저 희 는 다음 명령 을 통 해 nginx 를 시작 할 수 있 습 니 다.
#
/usr/local/nginx/sbin/nginx.sh
이렇게 하면 시작 에 성공 할 수 있 습 니 다. 시작 한 후에
ps -ef|grep nginx
를 사용 하여 보 세 요. master 프로 세 스 는 루트 에서 시작 되 고 worker 프로 세 스 는 우리 가 지정 한 nginx 사용자 가 실행 합 니 다.그러나 실제로 우 리 는 보통 사용
systemctl start nginx
으로 시작 합 니 다. 이 때 는 오류 가 발생 합 니 다. 왜냐하면 우 리 는 비 루트 사용자 로 시작 하기 때 문 입 니 다.nginx 는 기본적으로 80 포트 를 사용 하지만 Liux 는 root 1024
을 규정 하고 1024
.일반 사용자 로 nginx 를 시작 하면 다음 과 같은 오류 가 발생 합 니 다.nginx:[warn] the "user" directive makes sense only if the master proce***uns with super-user privileges
해결 방법 은 다음 과 같은 몇 가지 가 있 습 니 다. 1. SetUID
chmod u+s /usr/local/nginx/sbin/nginx
사실은 이 Nignx 바 이 너 리 파일 을 부여 하 는 것 입 니 다. 루트 에서 실행 할 수 있 는 장점 은 편리 하고 간단 하 다 는 것 입 니 다. sudo 권한 을 주지 않 는 다 는 것 이 단점 입 니 다.이 set uid 는 마지막 으로 nginx 를 루트 권한 에서 실행 합 니 다.ps - ef | grep nginx 가 볼 때 nginx 의 메 인 프로 세 스 는 루트 에서 실 행 됩 니 다.일반 사용자 가 nginx 서 비 스 를 실행 할 수 있 지만 모든 nginx 프로 세 스 가 사용자 자체 에서 실행 되 는 것 은 아 닙 니 다.
2. 포트 리 트 윗 은 감청 포트 를 1024 이상 의 포트 로 수정 한 다음 포트 리 트 윗 을 하고 80 포트 의 패 키 지 를 1024 이상 의 사용자 정의 포트 로 전송 합 니 다.
server {
# listen 80;
# 8088
listen 8088;
# 80 8088
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8088 --permanent
# 8088
firewall-cmd --zone=public --add-port=8088/tcp --permanent
##
# 80 8088
firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=8088 --permanent
# 80 8088 ( ip)
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toaddr=xxx.xx.xx.xxx:toport=8088 --permanent
# 80 8088 ( ip)
firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toaddr=xxx.xx.xx.xxx:toport=8088 --permanent
장점: 제3자 사용자 로 직접 시작 할 수 있 습 니 다. nginx 의 메 인 프로 세 스 는 사용자 자체 가 시작 합 니 다.단점, 추가 비용 증가, 부하 가 낮은 경우 가능, 부하 가 높 으 면 그다지 좋 지 않다.
3. nginx 커 널 이 2.1 버 전 을 넘 어서 면서 능력 설 이 나 타 났 다.우 리 는 / usr / local / nginx / sbin / nginx 에 80 포트 감청 권한 을 부여 할 수 있 습 니 다.
setcap cap_net_bind_service =eip /usr/local/nginx/sbin/nginx
이렇게 하면 일반 사용자 로 nginx 를 직접 사용 할 수 있 습 니 다.높 은 부하 에서 포트 전송 에 발생 하 는 부하 비용 을 줄 일 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.