운영 및 유지보수 엔진스 Nginx+Apache를 배포하고 동적과 정적을 분리하는 방법

Nginx+Apache를 배포하고 동적과 정적을 분리하는 방법

May 13, 2023 am 10:49 AM
apache nginx

nginx动静分离介绍

nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术
针对php的动静分离

  • 静态页面交给nginx处理

  • 动态页面交给php-fpm模块或apache处理

在nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式

反向代理原理

nginx不仅能作为web服务器,还具有反向代理、负载均衡和缓存的功能

nginx通过proxy模块实现将客户端的请求代理至上游服务器,此时nginx与上游服务器的连接是通过http协议进行的

nginx在实现反向代理功能时的最重要指令为proxy_ pass,它能够并能够根据uri、客户端参数或其它的处理逻辑将用户请求调度至上游服务器

配置nginx实现动静分离

本案例根据企业需要,将配置nginx实现动静分离,对php页面的请求转发给lamp处理,而静态页面交给nginx处理,以实现动静分离

架构如图所示

Nginx+Apache를 배포하고 동적과 정적을 분리하는 방법

配置步骤

1、架设并调试后端lamp环境

①安装apache服务

[root@localhost ~]# yum install httpd httpd-devel -y

②在防火墙设置http服务的权限

[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=https
success   
[root@localhost ~]# firewall-cmd --reload 
success
[root@localhost ~]# systemctl start httpd
로그인 후 복사

③安装mariadb

mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可 mariadb的目的是完全兼容mysql,包括api和命令行,使之能轻松成为mysql的代替品

[root@localhost ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel -y
[root@localhost ~]# systemctl start mariadb.service
로그인 후 복사

④mysql安全配置向导

[root@localhost ~]# mysql_secure_installation
로그인 후 복사

⑤安装php及支持的软件

[root@localhost ~]# yum install php -y
[root@localhost ~]# yum install php-mysql -y
[root@localhost ~]# yum install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath -y
로그인 후 복사

⑥更改网页主页面

[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim index.php
<?php
  echo "this is apache test web";
?>

[root@localhost html]# systemctl restart httpd
로그인 후 복사

⑦访问测试,输入网址

Nginx+Apache를 배포하고 동적과 정적을 분리하는 방법

2、编译安装nginx

①安装支持软件

[root@localhost ~]# yum install gcc gcc-c++ pcre-devel zlib-devel -y
로그인 후 복사

②创建运行用户和组

[root@localhost ~]# useradd -m -s /sbin/nologin nginx
로그인 후 복사

③编译安装

[root@localhost lnmp-c7]# tar zxvf nginx-1.12.2.tar.gz -c /opt
[root@localhost lnmp-c7]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module

[root@localhost nginx-1.12.2]# make && make install
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
로그인 후 복사

④服务管理控制

[root@localhost ~]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: ngins service control script
prog="/usr/local/nginx/sbin/nginx"
pidf="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
  $prog
  ;;
stop)
  kill -s quit $(cat $pidf)
  ;;
restart)
   $0 stop
   $0 start
   ;;
reload)
   kill -s hup $(cat $pidf)
   ;;
*)
   echo "usage: $0 {start|stop|restart|reload}"
   exit 1
esac
exit 0

[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx
[root@localhost ~]# service nginx start
로그인 후 복사

⑤启动服务

[root@nginx ~]# systemctl stop firewalld.service
[root@nginx ~]# setenforce 0
[root@nginx ~]# service nginx start
로그인 후 복사

⑥配置nginx处理动态页面请求

[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
    location ~ \.php$ {
      proxy_pass  http://192.168.150.214;
    }

[root@nginx ~]# service nginx restart
로그인 후 복사

⑦访问测试

Nginx+Apache를 배포하고 동적과 정적을 분리하는 방법
Nginx+Apache를 배포하고 동적과 정적을 분리하는 방법

위 내용은 Nginx+Apache를 배포하고 동적과 정적을 분리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Nginx의 실행 상태를 확인하는 방법 Nginx의 실행 상태를 확인하는 방법 Apr 14, 2025 am 11:48 AM

nginx의 실행 상태를 보는 방법은 다음과 같습니다. PS 명령을 사용하여 프로세스 상태를보십시오. nginx 구성 파일 /etc/nginx/nginx.conf를 봅니다. Nginx 상태 모듈을 사용하여 상태 끝점을 활성화하십시오. Prometheus, Zabbix 또는 Nagios와 같은 모니터링 도구를 사용하십시오.

nginx에서 스트림을 활성화하는 방법 nginx에서 스트림을 활성화하는 방법 Apr 14, 2025 am 09:45 AM

Nginx의 스트림 모듈을 활성화하는 방법은 무엇입니까? 스트림 모듈 활성화 6 단계가 필요합니다. 스트림 모듈 설치 구성 Nginx 스트림 서버 블록 구성 스트림 서버 옵션 작성 nginx 확인 활성화 활성화

Nginx403을 해결하는 방법 Nginx403을 해결하는 방법 Apr 14, 2025 am 10:33 AM

Nginx 403 금지 된 오류를 수정하는 방법은 무엇입니까? 파일 또는 디렉토리 권한을 확인합니다. 2. 확인 파일을 확인하십시오. 3. nginx 구성 파일 확인; 4. nginx를 다시 시작하십시오. 다른 가능한 원인으로는 방화벽 규칙, Selinux 설정 또는 응용 프로그램 문제가 있습니다.

Nginx 크로스 도메인의 문제를 해결하는 방법 Nginx 크로스 도메인의 문제를 해결하는 방법 Apr 14, 2025 am 10:15 AM

Nginx 크로스 도메인 문제를 해결하는 두 가지 방법이 있습니다. 크로스 도메인 응답 헤더 수정 : 교차 도메인 요청을 허용하고 허용 된 메소드 및 헤더를 지정하고 캐시 시간을 설정하는 지시문을 추가하십시오. CORS 모듈 사용 : 모듈을 활성화하고 CORS 규칙을 구성하여 크로스 도메인 요청, 메소드, 헤더 및 캐시 시간을 허용합니다.

Nginx에서 웹 사이트를 구축하는 방법 Nginx에서 웹 사이트를 구축하는 방법 Apr 14, 2025 am 11:21 AM

Nginx를 사용하여 웹 사이트를 구축하는 것은 5 단계로 수행됩니다. 1. Nginx 설치; 2. 주로 청취 포트, 웹 사이트 루트 디렉토리, 인덱스 파일 및 오류 페이지를 구성하는 nginx를 구성합니다. 3. 웹 사이트 파일 만들기; 4. 테스트 nginx; 5. SSL 암호화, 역 프록시,로드 밸런싱 및 캐싱과 같은 필요에 따라 고급 구성을 수행 할 수 있습니다.

Nginx 액세스 주소를 서버 IP로 설정하는 방법 Nginx 액세스 주소를 서버 IP로 설정하는 방법 Apr 14, 2025 am 11:36 AM

Nginx에서 서버 IP에 대한 액세스 주소를 설정하려면 서버 블록을 구성하거나 청취 주소를 설정하십시오 (예 : 192.168.1.10:80) 서버 이름 (예 : Server_name example.com www.example.com 등)을 설정하거나 변경 사항을 적용하려면 서버 IP 및 Reload Nginx를 비워 두십시오.

도메인 이름을 표시하도록 nginx를 구성하는 방법 도메인 이름을 표시하도록 nginx를 구성하는 방법 Apr 14, 2025 am 10:57 AM

nginx에서 디스플레이 도메인 이름 구성에는 다음 단계가 필요합니다. 구성 파일 편집 (일반적으로 /etc/nginx/nginx.conf). 서버 블록을 추가하고 도메인 이름 및 별칭을 지정하십시오 (예 : Server {Listen 80; Server_name example.com www.example.com;}). 웹 루트 디렉토리를 지정하십시오 (예 : root /var/www/example.com;). 구성 파일을 저장하고 nginx를 다시로드하십시오 (sudo nginx -t && sudo nginx -s 다시로드). 확인하다

nginx403 오류를 해결하는 방법 nginx403 오류를 해결하는 방법 Apr 14, 2025 pm 12:54 PM

서버는 요청 된 리소스에 액세스 할 수있는 권한이 없으므로 Nginx 403 오류가 발생합니다. 솔루션에는 다음이 포함됩니다. 파일 권한 확인 권한을 확인하십시오. .htaccess 구성을 확인하십시오. nginx 구성을 확인하십시오. Selinux 권한을 구성하십시오. 방화벽 규칙을 확인하십시오. 브라우저 문제, 서버 장애 또는 기타 가능한 오류와 같은 다른 원인을 해결하십시오.

See all articles