nginx源码安装及CA颁发

简介:

原理:client通过https去访问wed server nginx的时候,服务器为了证明自己的身份,并且也为了实现加密,它需要向客户端出示证书,(持有者标识,服务器的公钥,有效期,颁发单位,CA的签名),此时客户端需要于证书进行比对(有效期,及颁发单位是否我信任的颁发单位,持有者标识是否与访问的持有者标识一样,打开签名然后对里面的一些重新检测,如果比对一样,则表示里面的信息没有被篡改),浏览器随机产生k值,利用公钥加密k值来传递给服务器,服务器在用私钥来打开。。

环境:mod_ssl-2.2.3-31.e15.i386.rpm  httpd-2.2.3-31.el5.i386.rpm  nginx-1.0.11.tar.gz pcre-devel-6.6-2.el5_1.7.i386.rpm  libevent-2.0.16-stable.tar.gz

       

NGINX的源码安装

1.groupadd r nginx 创建一个系统组

2.useradd g nginx s /bin/nolohon M(系统账号默认值) nginx  添加系统用户,任何的服务都必要有一些运营者的身份

3.tar zxvf libevent-2.0.16-stable.tar.gz C /usr/local/src/

  4.cd  /usr/local/src/libevent-2.0.16-stable/

 5../configure--prefix=/usr/local/libevent

  6.make &&make install

  7.cd /usr/local/libevent/

   图1

     212435235.png

  8.vim /etc/ld.so.conf.d/libevent.conf 写入  /usr/local/libevent/lib

  9.ldconfig刷新缓存

  10.ldconfig -pv|grep libevent   测试系统是否可以找到这些库文件

  11.ln -s /usr/local/libevent/include/    /usr/include/libevent  头文件做一个符号链接

    12.tar zxvf nginx-1.0.11.tar.gz C /usr/local/src/

       rpm ivh pcre-devel-6.6-2.el5_1.7.i386.rpm

13.cd  /usr/local/src/ nginx-1.0.11

14. ./configure  --conf-path=/etc/nginx/nginx.conf  --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid  --lock-path=/var/lock/nginx.lock  --user=nginx --group=nginx  --with-http_ssl_module  --with-http_flv_module  --with-http_stub_status_module  --with-http_gzip_static_module  --http-client-body-temp-path=/var/tmp/nginx/client  --http-proxy-temp-path=/var/tmp/nginx/proxy  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-pcre

15.选项解释:

    -conf-path                 配置文件存放的位置

    --error-log-path          错误日志存放的位置名称

    --http-log-path           成功日志存放的位置名称

    --pid-path                 pid的位置

    --lock-path               索文件

        --with-http_ssl_module                  增加ssl模块

    --with-http_flv_modile                 支持flv模块

    --with-http_stub_status_module         状态输出

    --with-http_gzip_status_module         压缩或解压

    --http-client-body-temp-path           临时文件

    --http-proxy-temp-path                 反向代理加速时临时文件存放的位置

    --http-fastcgi-temp-path               交互时临时文件

    --with-pcre                            支持正则表达式的库

16.make

17.make install

18. mkdir pv  /var/tmp/nginx/client

19. ./nginx 启动nginx

20 ps aux |grep nginx查看ngix 的进程

21.测试nginx是否可以被访问到

图2

213507342.png

22../nginx -s stop 停止nginx的线程

23. PATH=$PATH:/usr/local/nginx/sbin/ 更改环境变量 

 

 

测试httpd与nginx的压力测试

1.首先安装httpd

2.rpm ivh httpd-2.2.3-31.el5.i386.rpm

3.启动 service httpd start

4.ab c 1000 n 10000http://192.168.2.10/index.html

图3

 214021601.png

图5

214051978.png

5.ps aux |grep httpd 

6.图4

    214131957.png

 

7.service httpd stop

8.nginx

9.ab c 1000 n 50000http://192.168.2.10/index.html

10.图6

             214254526.png

 

地址虚拟主机

案例:对nginx进行网页测试,设置IP地址,使得我访问192.168.2.101能够显示出TEC技术部,当访问192.168.2.10能够显示出来主站点

1.ifconfig eth0:192.168.2.101

2.mkdir /usr/local/nginx/tec

3. cd /usr/local/nginx/tec/

4. echo "tec" >index.html

5.更改配置文件

6. cd /etc/nginx

7.vim nginx.conf 

  图7

  214419251.png

  图8

  214441579.png

10.复制35行server到80行重新编辑

11.图9

  214523427.png

12.  /usr/local/nginx/sbin/nginx 对nginx进行语法测试

13. /usr/local/nginx/sbin/nginx -s stop 把nginx停下来 不加参数表示启动nginx

14.测试

 图10

 214651109.png

 图11

  214705472.png

 

nginx实现CA的颁发

1.cd /etc/pki

2.vim tls/openssl.cnf    45行 dir = /etc/pki/CA证书保存的位置   88行到90行更改成optionl可以给其他的地区颁发证书(:88,90 s/match/optional 快捷方式替换)

3.cd CA

6.mkdir crl certs newcerts   当前的url  默认的证书存放位置  新的证书存放位置

7.touch index.txt serial    数据库的索引文件及编号文件

8.echo "01" >serial         写入第一个编号

9.openssl genrsa 1024 >private/cakey.pem 产出私钥

10.chmod 600 private/*

11.openssl req -new -key private/cakey.pem-x509 -out cacert.pem 给自己服务器颁发证书

   图1

    215850940.png

wed server nginx

1.mkdir -pv /usr/local/nginx/certs(私钥 请求 证书存放在一个目录)

2.cd/usr/local/nginx/certs

3.openssl genrsa 1024 >nginx.key 产生私钥文件

4.openssl req -new -key nginx.key-out nginx.req 产生请求文件

5.图2

215930444.png

6.chmod 600 nginx.key 私钥是严格被保管的,改变私钥的权限

7.openssl ca in nginx.req out nginx.cert

8.图3

 220559194.png

9.cd /etc/nginx/

10.vim nginx.conf

11.证书与服务器绑定(150行开始复制 19yy 按p 任何位置)

 图5

 220645223.png

  测试

 

  220845963.png

  220913901.png

解决方法:首先client需要CA安装证书

12.需要有这个包mod_ssl-2.2.3-31.e15.i386.rpm(光盘或者下载都可以)

13.rpm2cpio mod_ssl-2.2.3-31.e15.i386.rpm |cpio id  rpm2cpio将指定的一个 .rpm 文件转换为一个 cpio 文档,输出到标准输出

14.cd /usr/local/nginx/certs

15.cp /etc/pki/CA/cacert.pem ./

16.cat nginx.cert.bak cacert.pem>nginx.cert         ca的证书与机构的证书来进行合并

221346911.png

以上就是NGINX实现CA颁发。










本文转自 only223wym 51CTO博客,原文链接:http://blog.51cto.com/ymchaofeng/1292021,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
网络协议 应用服务中间件 nginx
使用Dockerfile编写源码安装Nginx镜像
使用Dockerfile编写源码安装Nginx镜像
96 0
|
3月前
|
Unix 应用服务中间件 Linux
1-Nginx介绍及安装(源码安装)
1-Nginx介绍及安装(源码安装)
44 4
|
8月前
|
缓存 负载均衡 算法
nginx源码安装和基础配置
nginx: 世界最大web服务器软件,以高并发、低消耗著称,源自于俄罗斯,创建者 Igor(伊戈尔),2004年开源,最早以代理服务器的身份出现,2015成立nginx公司, 2019年以6.7亿被F5 Networks公司收购。
105 0
nginx源码安装和基础配置
|
8月前
|
缓存 负载均衡 算法
nginx源码安装和基础配置
nginx源码安装和基础配置
89 0
|
8月前
|
应用服务中间件 nginx
Nginx的源码安装
Nginx的源码安装
91 0
|
8月前
|
tengine 安全 应用服务中间件
源码安装----Tengine(nginx的进阶版)
源码安装----Tengine(nginx的进阶版)
258 1
|
应用服务中间件 Linux nginx
Nginx源码安装,配置开机自启
Nginx源码安装,配置开机自启
355 1
Nginx源码安装,配置开机自启
|
域名解析 弹性计算 负载均衡
全栈开发之前、后端服务部署:Nginx源码安装,反向代理,静态资源服务,生产环境跨域,负载均衡
全栈开发之前、后端服务部署:Nginx源码安装,反向代理,静态资源服务,生产环境跨域,负载均衡
250 0
全栈开发之前、后端服务部署:Nginx源码安装,反向代理,静态资源服务,生产环境跨域,负载均衡
|
应用服务中间件 Linux nginx
linux篇-linux下源码安装nginx
linux篇-linux下源码安装nginx
107 0
linux篇-linux下源码安装nginx
|
存储 应用服务中间件 测试技术
源码安装NGINX
安装过程比较简单,就是下载源码包,下载依赖包,打包编译安装就完事了。
98 0