nginx服务器:
安装服务: nginx源码包安装: yum -y install gcc pcre-devel openssl-decel tar -xf nginx -1.8.0.tar.gz cd nginx-1.8.0 ./configure --with-http_ssl_module(用于配置做加密网站使用的) --user (指定启动服务的用户,不指定默认nobady) --perfix=(指定安装路径,默认/usr/local/nginx) make make install
(有nginx的源码安装脚步可以使用脚本安装) ./inatsll_lnmp.sh(脚本装包) nginx (起服务) nginx -s stop(关服务) nginx -s reload(重新加载配置文件在不关闭的情况了) nginx -V (查看当前ngingx的软件信息-->模块包;版本等)
nginx的配置文件vim /usr/local/nginx/conf/nginx.conf http的网站 全局【日志 并发 用户】 http{ server{ listen 80; server_name www.a.com; root html; } server{ listen 80; server_name www.b.com root html; } } (默认有测试用网页)
用户认证:(实现输入用户名密码才可以访问网站)
在server_name ..下面加:
auth_basic "Input Password:" (认证提示符)
auth_basic_user_file "/usr/local/nginx/pass" (指定认证用户名密码存放文件)
创建存放的用户名及密码的文件及创建用户: yum -y install httpd-tools (创建用户名密码的命令) htpasswd -c /usr/local/nginx/pass tom (m指定加密默认有-c新建用户指定,需要追加用户不加c) nginx -s reload (重起服务) 查看日志在: ls /usr/local/nginx/logs/
模块化设计Linux: ./configure (默认选择安装最常用的) ./configure --with-abc --with-qq ...(添加abc的模块功能和qq的模块的功能) <查看 >
升级nginx服务: 1.8.0--->1.9.0 1.8.0--->https---> tar -xf nginx-1.8.0.tar.gz cd nginx-1.8.0 ./configure --with-http_ssl_module make cp objs/nginx /usr/local/nginx/sbin cp html /usr/local/nginx cp conf /usr/local/nginx cp logs /usr/local/nginx
###########################################################
虚拟主机(一个nginx实现多个网站)
基于域名、基于IP、基于端口
基于域名:
server {
listen 80;
server_name www.a.com;
auth_basic "Input Password:";
auth_basic_user_file "/usr/local/nginx/pass";
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.b.com;
location / {
root web;
index index.html index.htm;
}
}
生成一个新的目录web,在改文件下生成新的网页文件index.onf
基于IP: Listen *:80(默认是所有IP全部允许Liten 80) server { listen 192.168.2.5:80 server_name www.b.com;
location / {
root web;
index index.html index.htm;
}
}
基于端口:在Listen的IP后面直接加 :端口号 server { listen 192.168.4.5:8000 server_name www.b.com;
location / {
root web;
index index.html index.htm;
}
}
在基于端口里面不输入端口号默认是访问从上往下第一个
##############################################################
实现访问网站时需要用户名和密码:
用户认证【http协议是明文协议】:使用https解决
密钥:对称密钥(单机加密)、非对称密钥(网络加密)、信息摘要(数据安全)
123 123 123 <dse>
加密方式:DES,AES RSA,DSA md5,sha128,sha256
md5sum 文件 (查看文件的额校验值)
1.钥和公钥: cd /usr/local/nginx/conf/ (生成的密钥必须在配置文件的目录下) openssl genrsa > cert.key (生成私钥 另存成文件 文件名字openssl genrsa -out cert.key一样) vim cert.key (存放的密钥内容) openssl req -new x509 -key cert.key -out cert.pem (对刚创建的cert.key生成公钥 导出证书 cert/.pem) 国家(两个字母必须)省份、城市、公司、部门、服务器名、. 2.配置# vim /usr/local/nginx/conf/nginx.conf(在配置最下面有模板) server { listen 443 ssl; server_name www.c.com;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
#################################################################
nginx反向代理:( 1.实现缓存与代理服务器相同 2.不实现缓存 调度器 实现负载均衡 带健康检查<web 高可用> 多个后台web服务器安装配置 配置/usr/local/nginx/conf/nginx.conf ( cp nginx.conf.default nginx.conf ) 在第一个server之上加: upstream webserver { (为后台集群定义) server 192.168.2.100 (server指定后台) server 192.168.2.200 } location / { proxy_pass http://webserver; (指定转发调用集群) } 保存重启服务客户机进行验证
upstream webserver { server 192.168.2.100 max_fails=1 fail_timeout=30; (指定连接最大的失败次数,失败之后的超时的时间为30) server 192.168.2.200 weight=2; (权重不写默认为1权重越 大处理的越多) }
重起服务验证
upstream webserver { ip_hash; (实现相同客户端访问的是相同的服务器) server 192.168.2.100 max_fails=1 fail_timeout=30; server 192.168.2.200 weight=2; }
重起服务验证