本文共 3767 字,大约阅读时间需要 12 分钟。
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 ; (指定转发调用集群) } 保存重启服务客户机进行验证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; }重起服务验证