nginx负载均衡和反向代理

Nginx

 1、准备工作

下载安装:nginx.org   下载1.10

放到家目录下  解压

tar -zxf nginx-1.10.1.tar.gz

源码安装需要三步:

nginx解压后的目录内进行操作(确定80端口未被占用)

1.   ./configure

./configure --prefix=/usr/local/lnmp/nginx(默认安装位置) --with-http_ssl_module (自动编译)--with-http_stub_status_module(测试模块)

提示错误:缺少安装包

yum install pcre-devel -y          yum install -y openssl-devel

 

2.      make (编译)

3.       make  install  (生成)

cd /usr/local/lnmp/nginx/sbin/    ./nginx    (打开nginx

curl   -I  172.25.15.11  (可以查看到)

或者用火狐浏览器查看  可以查看到

2、删除卸载 nginx  

 /usr/local/lnmp/nginx/sbin/  下  执行  ./nginx -s stop   (停止nginx)

rm   -fr   /usr/local/lnmp/nginx

 解压后的目录内 make  clean

或者干脆点:删除家目录下的  解压后的文件  重新解压。

 

 

3、隐藏nginx版本号   关闭测试模式(会导致软件很大)

重新解压后 进入解压后的目录内

vim   src/core/nginx.h   (隐藏版本号)

wKioL1fZLeShNZYtAAA8DDL5bfc319.png-wh_50

vim  auto/cc/gcc   (关闭测试模式)

wKiom1fZLh-Bzt4QAAAnyHotMeY052.png-wh_50

注释掉 179行  然后 进行  ./configure   && make   &&  make install

链接nginx  到系统下  可以直接执行nginx命令

ln  -s  /usr/local/lnmp/nginx/sbin/nginx     /usr/local/sbin/

which   nginx   (可以查看到nginx)

在系统下  输入   nginx (开启)

nginx  -s stop  (关闭)

nginx   -s  reload  (重载)

nginx    -t  检查配置文件语法问题

4、动态模块和静态模块

重新配置一个nginx  

./configure   --prefix=/tmp/nginx  --with-ngx_mail_module=dynamic(添加动态模块)

/tmp/nginx/  下多了一个modules  (目录内的模块为动态模块)

可以在配置文件  /tmp/nginx/conf/nginx.conf  中的第一行调用动态模块

wKioL1fZLnXRnek3AABHQe7wkWE888.png-wh_50

apache中早就支持nginx刚出)

5、给nginx进程添加用户

ps  aux  可以查看到  nginx进程的workernobody

创建一个nginx用户:useradd  -s  /sbin/nologin  nginx

在主配置文件中修改  /usr/local/lnmp/nginx/conf/nginx.conf

wKioL1fZLw_wqnTEAABxQLnM4rg606.png-wh_50

wKiom1fZLzngsPTYAAAqpLp_xsc488.png-wh_50

Io负用方法:use  epoll

并发链接数:worker_connections 4096 X 2 (cpu)

用户为 nginx    线程数为2  绑定任务到  cpu的两个核

6、设置用户的最大进程数,文件数

vim   /etc/security/limits.conf


wKioL1fZL7Kw8XJtAABa3Jz8Ppo918.png-wh_50

最大进程数为100

shell炸弹::(){  :|:& }; : (无限调用函数一直到系统资源枯竭  然后会卡住,所以要限制普通用户的最大进程数)

 

 

7nginx  开启443端口

网页测试:

修改配置文件:  /usr/local/lnmp/nginx/conf/nginx.conf

wKioL1fZMCbwIUR3AAA7Jo2d9zg446.png-wh_50

nginx  -t   (检测语法错误)

nginx  -s   reload  (重载nginx)

在网页测试:  server1.example.com/status     刷新


wKioL1fZMJuQiP-TAABFmvCS1Yw809.png-wh_50

修改配置文件:  /usr/local/lnmp/nginx/conf/nginx.conf     server{}  就是个虚拟主机

wKiom1fZMNjQBi46AACgt_HUy4U447.png-wh_50

/etc/pki/tls/certs/   下   输入指令make cert.pem(你想生成的ca证书)

输入证书的相关信息。将证书移动到   /usr/local/lnmp/nginx/conf/

Nginx   -t    nginx  -s   reload  

访问https://server1.example.com   可以查看到。

网页重写:

1.修改发布首页的方法

查看百度的源代码页  然后把代码写入发布首页  /usr/local/lnmp/nginx/html/index.html

wKioL1fZMTLhWR14AABdaiW9boE999.png-wh_50

2.网页重定向的方法

80端口下的虚拟主机中加入

wKiom1fZUb2CvL9WAACYNze9LM0890.png-wh_50

nginx   -s  reload  访问  server1.example.com   可以跳转。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章