CentOS 8 에 Apache / httpd 서 비 스 를 설치 하고 Nginx 역방향 에이 전 트 를 사용 합 니 다.
19331 단어 System
주요 환경
CentOS Linux release 8.1.1911 (x64) nginx/1.14.1
필요조건
1. 방화벽 의 정상 적 인 운행 확보
루트 또는 sudo 특권 을 가 진 사용자 로 다음 명령 을 실행 합 니 다: sudo systemctl status firewalld
[dotnba@CentOS8 ~]$ sudo systemctl status firewalld
[sudo] dotnba :
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-02-04 07:55:05 CST; 1min 52s ago
Docs: man:firewalld(1)
Main PID: 1113 (firewalld)
Tasks: 2 (limit: 23820)
Memory: 31.6M
CGroup: /system.slice/firewalld.service
└─1113 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
2 04 07:55:04 CentOS8 systemd[1]: Starting firewalld - dynamic firewall daemon...
2 04 07:55:05 CentOS8 systemd[1]: Started firewalld - dynamic firewall daemon.
2. 시스템 이 최신 을 유지 하도록 확보 합 니 다. 루트 또는 sudo 특권 을 가 진 사용자 로 다음 명령 을 실행 합 니 다: sudo yum update
[dotnba@CentOS8 ~]$ sudo yum update
설치 절차
1. httpd 설치
yum install httpd
2. httpd 서비스 시작
[dotnba@CentOS8 ~]$ systemctl start httpd
3. 시스템 이 시 작 될 때 httpd 서 비 스 를 사용 합 니 다.
[dotnba@CentOS8 ~]$ systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
4. httpd 실행 상 태 를 검사 합 니 다.
[dotnba@CentOS8 ~]$ service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2020-02-04 08:33:29 CST; 18min ago
Docs: man:httpd.service(8)
Main PID: 60936 (httpd)
Status: "Running, listening on: port 443, port 80"
Tasks: 214 (limit: 23820)
Memory: 25.8M
CGroup: /system.slice/httpd.service
├─60936 /usr/sbin/httpd -DFOREGROUND
├─60946 /usr/sbin/httpd -DFOREGROUND
├─60947 /usr/sbin/httpd -DFOREGROUND
├─60948 /usr/sbin/httpd -DFOREGROUND
├─60949 /usr/sbin/httpd -DFOREGROUND
└─60950 /usr/sbin/httpd -DFOREGROUND
2 04 08:33:29 CentOS8 systemd[1]: Starting The Apache HTTP Server...
2 04 08:33:29 CentOS8 httpd[60936]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::df54:246d:1b8e:20e2. Set the 'ServerName' directive>
2 04 08:33:29 CentOS8 systemd[1]: Started The Apache HTTP Server.
2 04 08:33:29 CentOS8 httpd[60936]: Server configured, listening on: port 443, port 80
5. 테스트 검증 서비스 * 81955: Apache 가 제대로 작 동 하 는 지 확인 하기 위해 간단 한 curl 명령 (curl: 80) 을 실행 할 수도 있 고 웹 브 라 우 저 를 사용 하여 검사 할 수도 있 습 니 다.
[dotnba@CentOS8 ~]$ curl localhost:80
Apache 에 방화벽 설정
외부 호스트 가 아파 치 서버 를 사용 할 수 있 도록 방화벽 에 특정 포트 를 열 어야 한다.1. 80 포트 와 443 포트 권한 부여
# 80
[dotnba@CentOS8 ~]$ sudo firewall-cmd --permanent --zone=public --add-service=http
success
# 443
[dotnba@CentOS8 ~]$ sudo firewall-cmd --permanent --zone=public --add-service=https
success
#
[dotnba@CentOS8 ~]$ sudo firewall-cmd --reload
success
2. 포트 개방 상태 확인
[dotnba@CentOS8 ~]$ sudo firewall-cmd --list-all | grep services
services: cockpit dhcpv6-client http https ssh
또는:
[dotnba@CentOS8 ~]$ sudo firewall-cmd --service=http --get-ports --permanent
80/tcp
[dotnba@CentOS8 ~]$ sudo firewall-cmd --service=https --get-ports --permanent
443/tcp
물론 가장 직관 적 인 것 은 외부 호스트 에서 브 라 우 저 방문 을 통 해 정상 여 부 를 검증 하 는 것 이다.3. 다른 포트 를 추가 합 니 다. 물론 80 포트 를 제외 하고 다른 포트 를 열 어야 할 수도 있 습 니 다.
[dotnba@CentOS8 ~]$ sudo firewall-cmd --service=http --add-port=8080/tcp --permanent
success
검사 포트 추가 상황:
[dotnba@CentOS8 ~]$ sudo firewall-cmd --service=http --get-ports --permanent
80/tcp 8080/tcp
아파 치 수정 포트
1. / etc / httpd / conf / httpd. conf 파일 수정
# 80 , 8080
Listen 8080
2. 프로필 다시 불 러 오기
[dotnba@CentOS8 ~]$ service httpd reload
Redirecting to /bin/systemctl reload httpd.service
[dotnba@CentOS8 ~]$ service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: reloading (reload) (Result: exit-code) since Tue 2020-02-04 08:33:29 CST; 1h 2min ago
Docs: man:httpd.service(8)
Process: 63472 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
Process: 60936 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 60936 (code=exited, status=1/FAILURE)
Status: "Reading configuration..."
Tasks: 0 (limit: 23820)
Memory: 8.4M
CGroup: /system.slice/httpd.service
2 04 08:33:29 CentOS8 systemd[1]: Started The Apache HTTP Server.
2 04 08:33:29 CentOS8 httpd[60936]: Server configured, listening on: port 443, port 80
2 04 09:34:58 CentOS8 systemd[1]: Reloading The Apache HTTP Server.
2 04 09:34:58 CentOS8 httpd[63140]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::df54:246d:1b8e:20e2. Set the 'ServerName' directive>
2 04 09:34:58 CentOS8 systemd[1]: Reloaded The Apache HTTP Server.
2 04 09:34:58 CentOS8 httpd[60936]: Server configured, listening on: port 443, port 8080
2 04 09:35:35 CentOS8 systemd[1]: Reloading The Apache HTTP Server.
2 04 09:35:35 CentOS8 httpd[63472]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::df54:246d:1b8e:20e2. Set the 'ServerName' directive>
2 04 09:35:35 CentOS8 systemd[1]: Reloaded The Apache HTTP Server.
2 04 09:35:35 CentOS8 systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
이때 'Main process exited, code = exited, status = 1 / FAILURE' 를 발 견 했 습 니 다. 이 유 는 SELinux 보안 체제 가 비 표준 포트 에 제한 이 있 기 때 문 입 니 다.3. 허용 포트 조회
[dotnba@CentOS8 ~]$ sudo semanage port -l | grep http
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
이때 포트 를 http 로 수정 할 수 있 습 니 다.port_t/http_cache_port_t 허용 포트.예 를 들 어 8118 또는 81.
# 80 , 81
Listen 81
프로필 다시 불 러 오기:
[dotnba@CentOS8 ~]$ service httpd reload
Redirecting to /bin/systemctl reload httpd.service
『 8195 』 검사 상태:
[dotnba@CentOS8 ~]$ service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2020-02-04 09:48:33 CST; 1min 23s ago
Docs: man:httpd.service(8)
Process: 64233 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
Main PID: 63903 (httpd)
Status: "Configuration loaded."
Tasks: 214 (limit: 23820)
Memory: 27.0M
CGroup: /system.slice/httpd.service
├─63903 /usr/sbin/httpd -DFOREGROUND
├─64252 /usr/sbin/httpd -DFOREGROUND
├─64253 /usr/sbin/httpd -DFOREGROUND
├─64254 /usr/sbin/httpd -DFOREGROUND
├─64255 /usr/sbin/httpd -DFOREGROUND
└─64256 /usr/sbin/httpd -DFOREGROUND
2 04 09:48:33 CentOS8 systemd[1]: Starting The Apache HTTP Server...
2 04 09:48:33 CentOS8 httpd[63903]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::df54:246d:1b8e:20e2. Set the 'ServerName' directive>
2 04 09:48:33 CentOS8 systemd[1]: Started The Apache HTTP Server.
2 04 09:48:33 CentOS8 httpd[63903]: Server configured, listening on: port 443, port 81
2 04 09:49:53 CentOS8 systemd[1]: Reloading The Apache HTTP Server.
2 04 09:49:53 CentOS8 httpd[64233]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::df54:246d:1b8e:20e2. Set the 'ServerName' directive>
2 04 09:49:53 CentOS8 systemd[1]: Reloaded The Apache HTTP Server.
2 04 09:49:53 CentOS8 httpd[63903]: Server configured, listening on: port 443, port 81
4. 다른 포트 를 추가 합 니 다.
[dotnba@CentOS8 ~]$ sudo semanage port -a -t http_port_t -p tcp 82
추 가 된 상황 보기:
[dotnba@CentOS8 ~]$ sudo semanage port -l | grep http
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 82, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
Apache 에 Nginx 역방향 프 록 시 설정
1. Nginx 설치
sudo yum install nginx
2. Nginx 서비스 시작
[dotnba@CentOS8 ~]$ systemctl start nginx
3. Nginx 를 시스템 서비스 에 추가
[dotnba@CentOS8 ~]$ systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
4. Nginx 프로필 수정
[dotnba@CentOS8 ~]$ sudo vim /etc/nginx/nginx.conf
location / {
#
proxy_pass http://localhost:81;
}
5. Nginx 프로필 다시 불 러 오기
[dotnba@CentOS8 ~]$ service nginx reload
Redirecting to /bin/systemctl reload nginx.service
이때 방문 한 결과 오류 페이지 가 발생 했 습 니 다.설정 오류 가 아 닌 SELinux 보안 요인 때 문 입 니 다.6. 역방향 에이전트 허용
[dotnba@CentOS8 ~]$ sudo setsebool -P httpd_can_network_connect 1
재 방문 정상.
참고 글: 1. CentOS 8 에서 아파 치 포트 를 수정 하고 SeLinux 와 Nginx 역방향 에이전트 에 관 한 문 제 를 해결 합 니 다.https://blog.csdn.net/ldy/article/details/104148656 2.5 분 동안 CentOS 8 에 Apache 설치 하기:https://www.linuxidc.com/Linux/2019-11/161439.htm 3. httpd 역방향 에이전트 오류:https://www.cnblogs.com/GYbin/p/9572356.html 4. CentOS 7 방화벽 빠 름포트 설정 방법 열기:https://www.linuxidc.com/Linux/2019-06/159104.htm
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bring application to foreground with a keypressFrom Forum Nokia Wiki Inorder to capture the keys while you application under background you've to override CCoeAppUi::H...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.