Linux的企业-Nginx

简介:

一.Nginx的介绍

        Nginx——Ngine X,是一款自由的、开源的、高性能 HTTP 服务器和反向代理服务器;也是一个 IMAP、POP3、SMTP 代理服务器;也就是说 Nginx 本身就可以托管网站(类似于 Tomcat 一样),进行 Http 服务处理,也可以作为反向代理服务器使用。
        Nginx 解决了服务器的 C10K(就是在一秒之内连接客户端的数目为 10k即 1 万)问题。它的设计不像传统的服务器那样使用线程处理请求,而是一个更加高级的机制—事件驱动机制,是一种异步事件驱动结构。


二.Nginx的安装

客户机:172.25.29.250

nginx服务器:172.25.29.1

www.westos.org-server2:172.25.29.2

www.westos.org-server3:172.25.29.3



1.解压配置文件


wKiom1m6fsXDn8RgAAB1KhOZWjE470.png


2.修改配置文件,隐藏版本号

wKioL1m6fpqD0gV2AAAKTL0_snc709.png

wKioL1m6fpqBOBvkAAAbbhcvr_Y474.png


3.关闭gcc的debug调试模式,节省空间

wKiom1m6fsXhYtJzAABPHDY51MY554.png

wKioL1m6fpqh_CeIAAAOlK5BrPI068.png


4.设置nginx的目录及各种模块比如openssl加密等

wKiom1m6fsWRWv65AAAey3zCZEY252.png


5.安装过程出现error,逐步安装所需要的devel开发包,记得加-devel,安装pcre-devel


wKioL1m6fpvz2icYAABE-iqfb2M341.png


6.安装openssl-devel

wKioL1m6fpuA9MtQAABDV0RXilA827.png

wKiom1m6fsazXSaEAACnJZD-Slo079.png


没有保存,可以直接编译,如未安装gcc包,需要安装gcc包


7.make编译

wKiom1m6fsax0ehxAAAfawKC2xk440.png


8.安装编译后的包

wKioL1m6fpvh8oGdAAAguqRarSY618.png


9.创建nginx的本地家目录,uid:800

wKiom1m6gW6TVJRSAAAdl2tZmSA609.png


10.进入到/var/local/nginx/sbin下,为方便调用做软连接

      -t 检测nginx语法是否错误

wKioL1m6fpzCv9ZyAACcfP9i2J4197.png


11.用ps ax 查看进程,nginx正常开启

wKioL1m6gUTRDAnQAAAog64T-pw127.png



三.Nginx多核绑定


1.nginx的配置

cd  /usr/local/nginx/conf/

wKioL1m6gUSQvZo3AAANX6oBxqc777.png

vim /usr/local/nginx/conf/nginx.conf


在最上端修改添加

wKioL1m-l_Og7K1qAABC7HyJ5Xc559.png

worker_processes  2;                     二核CPU,开启2个进程
worker_cpu_affinity 01 10;          01和10分别表示第一个CPU和第二个CPU(三个001,010,100)
worker_connections  65535;        连接数,65535为最大的进程数


2.修改内核最大连接参数
vim /etc/security/limits.conf   
nginx           -       nofile          65535        最后一行添加,最大进程数



四.配置nginx证书加密


1.配置文件  vim /usr/local/nginx/conf/nginx.conf

ssl_certificate_key  cert.pem       加密证书

wKiom1m6gW-RFXHYAABWXC6_RrU252.png


2.生成证书,pem为私钥,在此目录下查看Makefile可知pem包含证书与加密

wKiom1m6gW_jekvUAAAjdsuihPI119.png

wKiom1m6gW-zGWU3AAC0ZBU6Xxg915.png


3.移至/usr/local/nginx/conf目录下,重新加载nginx,使之生效

wKioL1m6gUXACemaAABUCREn_VA517.png


4.客户端测试

wKiom1m6gXDRRK8fAACSDiRHwuo836.png

wKioL1m6gUXgBW2BAABwlt35jio216.png

五.虚拟主机,定义多个不同域名站点的后端服务器


1.配置文件  vim /usr/local/nginx/conf/nginx.conf

wKiom1m6gXGhLj8LAAA55yU0jlM463.png


2.创建默认发布文件

wKiom1m6gXCTEoLbAACAxys7Q9o857.png


3.测试

wKiom1m6gXCg0DlPAAA0K6uc9Dw988.png

wKioL1m6gUaS0GE7AAAvCjTNib8891.png


六. 负载均衡  round-robin(轮询)


1.轮询是nginx中默认的负载均衡模式

wKiom1m6ikDC0c8nAAAW2MHKzEo014.png


将server2与server3的httpd的端口改为如上upstream中需求

wKioL1m6ihXyBd4QAAAsB1CtzQI823.png


轮询测试:

wKioL1m6ihWhuUO9AAAxFHiSHdE520.png

wKiom1m6ikCiUPGbAAAxvgHCKMU747.png


2.ip_hash算法

ip_hash模式会根据来源IP和后端配置来做hash分配,确保固定IP只访问一个后端。


wKioL1m6ihXzgTotAAAZABSEIx8268.png


测试:

wKioL1m6ihayTmfdAABvU9o8IZY165.png


3.weight为权重,若不设置则默认为1

wKiom1m6ikCxBFWKAAAgm_Nkyeg703.png

测试:

wKioL1m6ihbC4rlhAABuoSO7ZEo848.png



4.主备,当前两主机崩溃时由127.0.0.1接手

wKioL1m-mAyB9U3pAAAu0ttcw14440.png

测试主备(server2与server3关闭httpd服务,server1顶替)

wKiom1m6ikHSKys-AABdPIgVdJQ786.png


七.重新定向


注:配置完成后做好本地解析


1.配置文件  vim /usr/local/nginx/conf/nginx.conf

2.输入westos.org重定向到bbs.westos.org

wKiom1m6jGeBgHkwAAAfXELYoUw980.png


测试:

wKioL1m6jDyTXBfOAABIk3CZc-c148.png

wKioL1m6jDzygd7WAAAwRpplZco456.png



3.添加luntan.westos.org重定向到bbs.westos.org

wKioL1m6jD3DZjWRAAAi2piJ-ic087.png


测试:

wKiom1m6jGejYjwRAABKmGYQJ5k913.png



4.将bbs.westos.org重定向到https://bbs.westos.org


wKioL1m6jD2iNmTwAAA8OZY3vUg248.png


wKiom1m6jGjQr0N9AAAfTSV2nPw128.png


测试:

wKioL1m6jD3RWtQRAAAxXAkA6OI396.png


wKiom1m6jGiDTafiAAA6ttOZzv0152.png


八.访问其他发布目录


1.新建发布目录文件

mkdir  /static/images  -p

vim index.html   (images)


2.配置文件  vim /usr/local/nginx/conf/nginx.conf

location /images = bbs.westos.org/images

alias后面是绝对路径

wKiom1m6j7qT_VplAABaKToIehU892.png


3.客户端测试

wKioL1m6j5DhmiXkAAA0fRdqfTQ638.png

      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1965130,如需转载请自行联系原作者







相关文章
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
【Linux】Web服务之Nginx服务
【Linux】Web服务之Nginx服务
39 0
|
3月前
|
应用服务中间件 Linux 网络安全
windows+linux环境下nginx部署环境
windows+linux环境下nginx部署环境
|
25天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
22 0
|
2月前
|
存储 Linux 应用服务中间件
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
120 1
|
2月前
|
存储 应用服务中间件 Linux
Linux安装nginx——完整示例
Linux安装nginx——完整示例
89 0
|
3月前
|
应用服务中间件 Linux Shell
linux如何配置nginx
linux如何配置nginx
55 0
|
3月前
|
应用服务中间件 Linux 网络安全
【Nginx】Nginx Linux 部署
【1月更文挑战第25天】【Nginx】Nginx Linux 部署
|
3月前
|
网络协议 应用服务中间件 Linux
linux如何安装Nginx——腾讯云演示
linux如何安装Nginx——腾讯云演示
34 0
|
3月前
|
Linux 应用服务中间件 nginx
linux下 web 版 vscode本地部署 云端加个nginx同
linux下 web 版 vscode本地部署 云端加个nginx同
20 0
|
4月前
|
应用服务中间件 Linux 网络安全
Linux【脚本 06】HTTPS转发HTTP安装OpenSSL、Nginx(with-http_ssl_module)及自签名的X.509数字证书生成(一键部署生成脚本分享)
Linux【脚本 06】HTTPS转发HTTP安装OpenSSL、Nginx(with-http_ssl_module)及自签名的X.509数字证书生成(一键部署生成脚本分享)
66 1