CentOS 7 에서 nginx 역방향 프 록 시 서버 를 구축 하여 외부 네트워크 가 2 급 도 메 인 이름 으로 내부 네트워크 에 접근 할 수 있 도록 합 니 다.
[root@localhost ~]# yum list |grep nginx
No package nginx available.
[root@localhost ~]# // , , nginx rpm? , repo
[root@localhost ~]# // nginx , dowload , Pre-Build Package, stable version
---------------------------
To set up the yum repository for RHEL/CentOS, create the file named /etc/yum.repos.d/nginx.repo with the following contents:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
Replace “OS” with “rhel” or “centos”, depending on the distribution used, and “OSRELEASE” with “5”, “6”, or “7”, for 5.x, 6.x, or 7.x versions, respectively.
---------------------------
[root@localhost ~]#
[root@localhost ~]# // : /etc/yum.repos.d/nginx.repo , ,
[root@localhost ~]#
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# vi nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
:wq
nginx
[root@localhost yum.repos.d]# yum list |grep nginx
nginx.x86_64 1:1.10.0-1.el7.ngx nginx
nginx-debug.x86_64 1:1.8.0-1.el7.ngx nginx
nginx-debuginfo.x86_64 1:1.10.0-1.el7.ngx nginx
nginx-module-geoip.x86_64 1:1.10.0-1.el7.ngx nginx
nginx-module-image-filter.x86_64 1:1.10.0-1.el7.ngx nginx
nginx-module-njs.x86_64 1:1.10.0.0.0.20160414.1c50334fbea6-1.el7.ngx
nginx
nginx-module-perl.x86_64 1:1.10.0-1.el7.ngx nginx
nginx-module-xslt.x86_64 1:1.10.0-1.el7.ngx nginx
nginx-nr-agent.noarch 2.0.0-9.el7.ngx nginx
pcp-pmda-nginx.x86_64 3.10.6-2.el7 base
[root@localhost yum.repos.d]# yum install nginx.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* rpmforge: mirrors.neusoft.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.10.0-1.el7.ngx will be installed
--> Finished Dependency Resolution
Dependencies Resolved
####################################################################################
Package Arch Version Repository Size
####################################################################################
Installing:
nginx x86_64 1:1.10.0-1.el7.ngx nginx 640 k
Transaction Summary
####################################################################################
Install 1 Package
Total download size: 640 k
Installed size: 2.1 M
Is this ok [y/d/N]: y
Downloading packages:
nginx-1.10.0-1.el7.ngx.x86_64.rpm | 640 kB 00:00:18
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:nginx-1.10.0-1.el7.ngx.x86_64 1/1
----------------------------------------------------------------------
Thanks for using nginx!
Please find the official documentation for nginx here:
* http://nginx.org/en/docs/
Commercial subscriptions for nginx are available on:
* http://nginx.com/products/
----------------------------------------------------------------------
Verifying : 1:nginx-1.10.0-1.el7.ngx.x86_64 1/1
Installed:
nginx.x86_64 1:1.10.0-1.el7.ngx
Complete!
[root@localhost yum.repos.d]# nginx -v
nginx version: nginx/1.10.0
[root@localhost yum.repos.d]# service nginx start
Redirecting to /bin/systemctl start nginx.service
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2016-05-10 10:19:20 CST; 3s ago
Docs: http://nginx.org/en/docs/
Process: 29730 ExecStart#/usr/sbin/nginx -c /etc/nginx/nginx.conf (code#exited, status#0/SUCCESS)
Process: 29729 ExecStartPre#/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code#exited, status#0/SUCCESS)
Main PID: 29733 (nginx)
CGroup: /system.slice/nginx.service
├─29733 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
└─29734 nginx: worker process
May 10 10:19:20 localhost systemd[1]: Starting nginx - high performance web server...
May 10 10:19:20 localhost nginx[29729]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
May 10 10:19:20 localhost nginx[29729]: nginx: configuration file /etc/nginx/nginx.conf test is successful
May 10 10:19:20 localhost systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument
May 10 10:19:20 localhost systemd[1]: Started nginx - high performance web server.
[root@localhost yum.repos.d]# curl localhost // http://localhost/
Welcome to nginx!
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
#"http://nginx.org/">nginx.org.
Commercial support is available at
#"http://nginx.com/">nginx.com.
Thank you for using nginx.
ok 설치 되 었 습 니 다. 다음은 설정 입 니 다.
nginx 를 역방향 프 록 시 서버 로 설정 합 니 다.
nginx 자동 시작 설정
[root@localhost yum.repos.d]# cd /etc/nginx
[root@localhost nginx]# chkconfig nginx on
Note: Forwarding request to 'systemctl enable nginx.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
nginx 의 역방향 에이전트 규칙 설정
[root@localhost nginx]# vi nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
gzip on;
#modify@2016-05-10 11:30
include /etc/nginx/conf.d/reverse-proxy.conf;
client_max_body_size 50m; # ,
client_body_buffer_size 256k;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
proxy_connect_timeout 300s; #nginx ( )
proxy_read_timeout 300s; # , ( )
proxy_send_timeout 300s;
proxy_buffer_size 64k; # (nginx)
proxy_buffers 4 32k; #proxy_buffers , 32k ,
proxy_busy_buffers_size 64k; # (proxy_buffers*2)
proxy_temp_file_write_size 64k; # , , upstream ,
proxy_ignore_client_abort on; #
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location # /50x.html {
root html;
}
}
#modification is done!
}
:wq
[root@localhost nginx]# cd conf.d/
[root@localhost conf.d]# vi reverse-proxy.conf
## wiki.myweb.org -> http://10.1.1.230:8013
server
{
listen 80;
server_name wiki.myweb.org;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.1.1.230:8013;
}
access_log /var/log/nginx/wiki_access.log;
}
## zentao.myweb.org/zentao -> http://10.1.1.240:49017/zentao
server
{
listen 80;
server_name zentao.myweb.org;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.1.1.240:49017;
}
access_log /var/log/nginx/zentao_access.log;
}
## trac.myweb.org -> http://10.1.1.240:8000/
server
{
listen 80;
server_name trac.myweb.org;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.1.1.240:8000;
}
access_log /var/log/nginx/trac_access.log;
}
## kb2.myweb.org -> http://10.1.1.230:8080/
server
{
listen 80;
server_name kb2.myweb.org;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.1.1.230:8080;
}
access_log /var/log/nginx/iphmk_admin_kb2_access.log;
}
:wq
[root@localhost conf.d]# service start nginx
마지막 걸음
우리 nginx 의 역방향 프 록 시 서버 는 10.1.1.230 에 배치 되 어 있 기 때문에 그 자체 도 내부 네트워크 서버 이기 때문에 공유 기 에 퍼 가기 규칙 을 설정 해 야 합 니 다. 모든 외부 네트워크 80 포트 에서 들 어 오 는 요청 은 nginx 가 있 는 서버 로 전송 되 고 nginx 가 퍼 가기 를 책임 집 니 다.
:
WAN wan1
WAN 80 : DNS(53)
LAN 80
IP 10.1.1.230
:
ok, 대공 고 성 ~
본 고 는 다음 과 같은 박문 을 참고 하여 배 치 를 실현 한다.http://blog.csdn.net/hejingyuan6/article/details/47262419 (window 테스트 고려)http://www.ttlsa.com/nginx/use-nginx-proxy/ http://blog.csdn.net/isresultxal/article/details/50674378 http://blog.csdn.net/xshalk/article/details/51313101 (추 후 나 도 인증서 권한 수여 설 을 할 것 이다)
후속 개선
저 같은 프 록 시 설정 은 보기 에는 그다지 아름 답지 않 습 니 다. 저 는 더욱 아름 다운 설정 방식 이 있 는 것 을 기억 합 니 다. 여유 가 있 을 때 계속 최적화 할 수 있 습 니 다.
[중요 보충:] 참, 설명 도 잊 어 버 렸 어 요. 자신의 도 메 인 이름 (my web. org) 이 있어 야 2 급 도 메 인 이름 으로 네트워크 응용 을 분석 할 수 있어 요.없 으 면 아 리 클 라 우 드 서 비 스 를 신청 하고 공유 기 에 내부 네트워크 입 구 를 연결 하 는 네트워크 서비스 업 체 가 동적 IP (이 단 계 는 간단 하 다. 바로 공유 기 에 신청 한 동적 도 메 인 이름 을 설정 하면 된다) 에 배정 하 는 작업 은 준비 기간 에 속 합 니 다. 신청 하고 등록 하 는 것 도 번 거 롭 습 니 다. 이번 에는 기록 되 지 않 았 습 니 다 ~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.