1. nginx 소개
nginx는 로드 밸런싱 및 역방향 프록시에도 사용할 수 있는 웹 서버입니다. 현재 가장 일반적으로 사용되는 것은 로드 밸런싱입니다.
2.nginx 설치
1. nginx 및 관련 구성 요소 다운로드
Linux 시스템은 centos 6.5 64비트입니다. 설치하려면 루트 사용자로 직접 전환하세요.
다운로드하려면 사용자 디렉토리에 들어가세요. 프로그램
관련 구성 요소를 다운로드합니다
[root@localhost src]# wget http://nginx.org/download/nginx-1.10.2.tar.gz 省略安装内容... [root@localhost src]# wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz 省略安装内容... [root@localhost src]# wget http://zlib.net/zlib-1.2.11.tar.gz 省略安装内容... [root@localhost src]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz 省略安装内容...
C++ 컴파일 환경이 이미 설치되어 있으면 건너뛰어도 됩니다.
[root@localhost src]# yum install gcc-c++ 省略安装内容... 期间会有确认提示输入y回车 is this ok [y/n]:y 省略安装内容...
2 nginx 및 관련 구성 요소를 설치합니다
openssl 설치
[root@localhost src]# tar zxvf openssl-fips-2.0.10.tar.gz 省略安装内容... [root@localhost src]# cd openssl-fips-2.0.10 [root@localhost openssl-fips-2.0.10]# ./config && make && make install 省略安装内容...
pcre 설치
[root@localhost src]# tar zxvf pcre-8.40.tar.gz 省略安装内容... [root@localhost src]# cd pcre-8.40 [root@localhost pcre-8.40]# ./configure && make && make install 省略安装内容....
zlib 설치
[root@localhost src]# tar zxvf zlib-1.2.11.tar.gz 省略安装内容... [root@localhost src]# cd zlib-1.2.11 [root@localhost zlib-1.2.11]# ./configure && make && make install 省略安装内容...
nginx 설치
[root@localhost src]# tar zxvf nginx-1.10.2.tar.gz 省略安装内容... [root@localhost src]# cd nginx-1.10.2 [root@localhost nginx-1.10.2]# ./configure && make && make install 省略安装内容...
3. nginx 시작
먼저 nginx가 설치된 위치를 알아보세요
nginx 디렉터리에 들어가서 시작하세요
오류가 보고됩니다. 공유 라이브러리 로드: libpcre.so.1: 공유 개체 파일을 열 수 없습니다. 해당 파일이나 디렉터리가 없습니다. 다음과 같이 해결하세요
1.用whereis libpcre.so.1命令找到libpcre.so.1在哪里 2.用ln -s /usr/local/lib/libpcre.so.1 /lib64命令做个软连接就可以了 3.用sbin/nginx启动nginx 4.用ps -aux | grep nginx查看状态 [root@localhost nginx]# whereis libpcre.so.1 [root@localhost nginx]# ln -s /usr/local/lib/libpcre.so.1 /lib64 [root@localhost nginx]# sbin/nginx [root@localhost nginx]# ps -aux | grep nginx
Linux 시스템의 그래픽 인터페이스에 들어가서 브라우저를 열고 localhost를 입력하면 됩니다. nginx가 성공적으로 시작되었음을 나타내는 다음 그림을 참조하세요
nginx의 기본 작업
启动 [root@localhost ~]# /usr/local/nginx/sbin/nginx 停止/重启 [root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop(quit、reload) 命令帮助 [root@localhost ~]# /usr/local/nginx/sbin/nginx -h 验证配置文件 [root@localhost ~]# /usr/local/nginx/sbin/nginx -t 配置文件 [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
4. nginx의 간단한 구성
nginx 디렉터리의 conf 폴더에 있는 nginx 구성 파일을 엽니다
vim 구문에 대한 간략한 소개
기본적으로 vim을 연 후에는 vim을 입력할 수 없으며 키를 눌러야 합니다. 작업은 다음과 같습니다. 편집 시작: "i" 또는 "insert" 키를 누릅니다. 편집을 종료하려면: "esc" 키 vim을 종료하려면: ":q" vim 저장: ":w" vim을 저장하고 종료: ":wq" 저장하지 않고 vim 종료: ":q!"
"#"은 주석을 나타냅니다. 가장 중요한 것은 서버{} 블록이 각 웹 사이트를 나타낸다는 것입니다. 자세한 구성 소개는 제 다른 구성 기사를 참조하세요. 여기에서는 세 사이트를 임시로 설정했습니다.
다른 포트 80을 사용합니다. 81 및 82를 각각 저장하고 종료하고 다시 시작하세요. 연결 포트 22가 활성화되고 나머지는 닫힙니다. 위에서 설정한 80 등도 닫혀 있으므로 먼저 응용 프로그램 포트를 열어야 합니다
방법 1
방화벽을 직접 닫는 것이 성능은 좋지만 더 안전합니다. 성능이 좋지 않은 경우에는 이 방법을 사용하면 됩니다关闭防火墙 [root@localhost ~]# service iptables stop 关闭开机自启动防火墙 [root@localhost ~]# chkconfig iptables off [root@localhost ~]# chkconfig --list|grep ipt방법 2
방화벽 화이트리스트에 열린 포트를 추가하는 방법이 더 안전하지만 성능이 상대적으로 떨어집니다.
nginx가 설치된 컴퓨터 대신 다른 컴퓨터를 사용합니다. 저는 Windows 시스템을 사용하고 있으며 "c:windowssystem32driversetc" 아래의 호스트에서 도메인 이름 리디렉션을 구성합니다. .13.22 nginx.test.com nginx.test1.com nginx.test2.com
그런 다음 도메인 이름을 다시 cmd하고 핑하여 이 IP를 올바르게 가리키는지 확인하세요
올바르게 가리킨 후 telnet으로 포트 80을 사용하여 해당 포트와 통신할 수 있는지 확인합니다. (텔넷에서 해당 명령이 없다는 메시지가 표시되면 클라이언트가 설치되지 않은 것입니다. Windows 기능을 활성화 또는 비활성화한 후 설치하면 됩니다.)
다음 인터페이스를 얻으세요. 통신이 성공했다는 의미입니다
이 Windows 시스템을 엽니다. 브라우저에서 nginx.test.com을 입력하면 다음과 같은 결과가 표시됩니다. 이는 외부 네트워크 액세스가 성공했음을 의미합니다
如果防火墙你依然启用,只是设置了启用端口,那我们访问81那个端口会发现无法访问,因为我并没有加入白名单
到此nginx服务器雏形部署完成。
6、nginx负载均衡配置
nginx集反向代理和负载均衡于一身,在配置文件中修改配就可以实现
首先我们打开配置文件
[root@localhost nginx]# vim conf/nginx.conf
每一个server就是一个虚拟主机,我们有一个当作web服务器来使用
listen 80;代表监听80端口 server_name xxx.com;代表外网访问的域名 location / {};代表一个过滤器,/匹配所有请求,我们还可以根据自己的情况定义不同的过滤,比如对静态文件js、css、image制定专属过滤 root html;代表站点根目录 index index.html;代表默认主页
这样配置完毕我们输入域名就可以访问到该站点了。
负载均衡功能往往在接收到某个请求后分配到后端的多台服务器上,那我们就需要upstream{}块来配合使用
upstream xxx{};upstream模块是命名一个后端服务器组,组名必须为后端服务器站点域名,内部可以写多台服务器ip和port,还可以设置跳转规则及权重等等 ip_hash;代表使用ip地址方式分配跳转后端服务器,同一ip请求每次都会访问同一台后端服务器 server;代表后端服务器地址 server{};server模块依然是接收外部请求的部分 server_name;代表外网访问域名 location / {};同样代表过滤器,用于制定不同请求的不同操作 proxy_pass;代表后端服务器组名,此组名必须为后端服务器站点域名 server_name和upstream{}的组名可以不一致,server_name是外网访问接收请求的域名,upstream{}的组名是跳转后端服务器时站点访问的域名
配置一下windows的host将我们要访问的域名aaa.test.com指向linux
因为硬件有限,我是将windows中的iis作为nginx的后端服务器,所以配置一下iis的站点域名
打开cmd再ping一下aaa.test.com确实指向linux系统了,再打开浏览器输入aaa.test.com会显示bbb这个站点就代表负载成功了。
위 내용은 Centos6.5 64비트에서 Nginx를 설치하고 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!