Nginx与Https加密网站

  • 时间:2018-06-12 20:04 作者:迷途羔羊的IT之路 来源:迷途羔羊的IT之路 阅读:115
  • 扫一扫,手机访问
摘要:一、Web服务器比照Unix和Linux平台下--Apache、Nginx、Tengine、Lighttpd--Tomcat、IBM WebSphere、JbossWindows平台下--微软公司的IIS(Internet Information Server)二、Nginx(“engine x”)

一、Web服务器比照

Unix和Linux平台下

--Apache、Nginx、Tengine、Lighttpd

--Tomcat、IBM WebSphere、Jboss

Windows平台下

--微软公司的IIS(Internet Information Server)

二、Nginx(“engine x”)简介

1.是俄罗斯人编写的十分轻量级的HTTP服务器。

2.是一个高性可以的HTTP和反向代理商服务器,同时也是一个IMAP/POP3/SMTP代理商服务器。

三、搭建Nginx服务器

1.Yum安装依赖包 gcc pcre-devel openssl-devel

2.创立使用户及组 nginx(防止用root使用户被人攻击网站时取得root权限)

3.解压nginx源码包,进入压缩包,设置配置文件

./configrue

--prefix=/usr/local/nginx \ //指定安装路径,默认为这个

--user=nginx \

--group=nginx \

--with-http_ssl_module //指定所要安装的板块,nginx为板块化安装,可根据个人需求选择合适的板块进行安装,这个为ssl加密功可以

--....

4.make && make install //编译并安装

5.Ln -s /usr/local/nginx/sbin/nginx/ /sbin/ //创立软链接,方便用

6.nginx命令的用

Nginx //启动服务

Nginx -s stop //关闭服务

Nginx -s reload //重新加载配置文件

Nginx -V //查看软件信息

Ps : netstat与ss命令都是查看系统中启动的端口信息,常使用选项有:

-a:显示所有端口的信息

-n:以数字格式显示端口号

-t:显示TCP连接的端口

-u:显示UDP连接的端口

-l:显示服务正在监听的端口信息,nginx和httpd都是80,不可同时启使用

-p:显示监听端口的服务名称是什么(程序名称)

7.关防火墙和selinux,访问测试页面,默认的网页根目录为/usr/local/nginx/html/

四、更新nginx服务器

1.编译新版本nginx软件,无需安装(./xxx make)

2.备份老的nginx主程序。并用编译好的新版本nginx替换老版本

Mv /usr/local/nginx/sbin/nginx > /usr/local/nginx/sbin/nginxold

//备份的好处是当新版本不好使用时可降回老版本

Cp 新版本目录下的objs/nginx /usr/local/nginx/sbin/ //拷贝新版本

Make upgrade 或者 killall nginx 再重启

3.检查版本 -V

五、Nginx配置文件的基本框架

Vim /usr/local/nginx/conf/nginx.conf

全局配置(使用户名,日志,进程)

User nginx; //进程所有者

Worker_processer 1; //启动进程数量(一般与cpu核数一样)

Error_log /var/log/nginx/error.log; //日志文件

Pid /var/run/nginx.pid; //PID文件

Events{

Worker_connections 1024; //单个进程最大并发量

...

}

http{

Server{ //定义虚拟主机

Listen 80;

Server_name localhost;

Location{ //发布目录

Root html;

Index ....

}

}

Server{

Listen 80;

Server_name www.xx.com;

Root www;

}

...

}

六、Nginx设置使用户认证界面

目标:访问页面需要通过使用户名:tom,密码:123456来登陆后才能访问

1.修改配置文件

Server下{

Auth_basic “认证提醒信息”;

Auth_basic_user_file “/usr/local/nginx/pass” //认证密码文件

Location前{}

...

}

2.安装生成密码的文件(httpd-tools),并创立使用户和密码

Htpasswd -c /usr/local/nginx/pass tom //创立密码文件,与配置文件里面的路径对应

Htpasswd /usr/local/nginx/pass azby //追加使用户,不用-c选项

Cat /usr/local/nginx/pass //查看使用户能否创立成功

3.重启nginx服务并访问测试

七、Nginx虚拟主机

分类:基于域名、端口、IP的虚拟主机

1.基于端口的虚拟主机

Server{

Listen 8080; //端口

Server_name www.xx.com;

...

}

Server{

Listen 8000; //端口

Server_name www.xxcom;

...

}

2.基于IP的虚拟主机

Server{

Listen 192.168.0.1:80;

Server_name www.xx.com;

...

}

Server{

Listen 192.168.0.2:8;;

Server_name www.xxcom;

...

}

3.基于域名的虚拟主机

Server{ //定义虚拟主机

Listen 80;

Server_name www.yy.com; //域名1

Location / { //发布目录

Root html; /usr/local/nginx/html/

Index .... //首页文件

}

}

Server{

Listen 80;

Server_name www.xx.com;

Location / { //发布目录

Root www; /usr/local/nginx/www/

Index ....

}

}

...

八、HTTPS加密网站

1.密钥分类

对称密钥:AES、DES 应使用:RAR、ZIP压缩加密(单机加密)需要告诉别人密码,所以多使用于单机

非对称密钥:RSA、DSA 应使用:网络加密(https、ssh),对方有私钥,发传输信息使用公钥加密,只有对方可以解密

Hash值:MD5、SHA256、SHA512 应使用:数据完整性校验,文件妙传

2.配置ssl加密网站

生成私钥 openssl genrsa > cert.key

生成证书 openssl req -new -x509 -key cert.key > cert.pem

修改配置文件

Server{

...

Ssl_certificate cert.pem; //指定证书文件

Ssl_certificate_key cert.key; //指定私钥文件

去掉配置文件里关于ssl的注释

...

Location{}

}

重启并https访问验证

  • 全部评论(0)
最新发布的资讯信息
【系统环境|Linux】零基础如何学好大数据?必备需要学习知识(2019-06-18 11:54)
【系统环境|】Hadoop环境中管理大数据存储八大技巧(2019-06-15 11:01)
【系统环境|服务器应用】现在国内IT行业是不是程序员过多了?(2019-06-11 06:34)
【系统环境|服务器应用】新贵 Flutter(2) 自己设置 Widget(2019-06-11 06:34)
【系统环境|服务器应用】Android完整知识体系路线(菜鸟-资深-大牛必进之路)(2019-06-11 06:34)
【系统环境|服务器应用】Java程序员小伙经历三个月备战,终获阿里offer(2019-06-11 06:34)
【系统环境|服务器应用】每日一问:谈谈对 MeasureSpec 的了解(2019-06-11 06:34)
【系统环境|服务器应用】【科普】晶体管-1(2019-06-11 06:34)
【系统环境|服务器应用】一个很多人都会答错的java基础题(2019-06-11 06:33)
【系统环境|服务器应用】深入了解枚举类型(2019-06-11 06:33)
手机二维码手机访问领取大礼包
返回顶部