docker安装以及使用
安装成功后docker verion检查是否安装成功
1:启动docker systemctl start docker
2:检查docker运行状态systemctl status docker
3:利用docker部署nigex
Nginx相关地址
源码:https://trac.nginx.org/nginx/browser
官网:http://www.nginx.org/
Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。
主要有三大功能
1:Http代理,反向代理2:负载均衡3:缓存 功能1:Http代理,反向代理
这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。
流程:A访问 nginx监听ip:port,nginx将A的访问(根据负载均衡配置权重)转发到代理服务器
Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。
上3个图,理解这三种负载均衡算法的实现
Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。
2.2:nginx安装步骤1:下载安装包(本次版本nginx-1.8.1):nginx下载
2:上传安装包到linux系统
3:解压 tar -zxvf
4:运行./configure进行初始化即可,会初始化运行配置等
5:编译安装
make make install
执行完whereis nginx 就可以查到安装目录
6:conf/nginx.conf是对nginx运行的配置文件。包括监听的端口,反向代理配置等等
7:防火墙以及端口开发查看
查看端口使用情况:netstat -anp |grep 端口号 查看防火墙是否开启:systemctl status firewalld 看防火墙是否开启了80端口的访问: firewall-cmd --list-all 手动开启端口命令 firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 -- permanent #永久生效,没有此参数重启后失效 重启防火墙:systemctl restart firewalld.service
8:切换到步骤5生成的nginx运行目录下(whereis nginx 执行可获取路径),默认/usr/local/nginx/sbin
运行./nginx,启动Nginx。
9:启动验证:
查看进程:ps -ef | grep nginx
web登录:localhost:80(为conf/nginx.conf中的)默认为80
10:nginx命令操作
启动: ./nginx -s start 停止:./nginx -s quit 强制停止:./nginx -s stop 重新加载nginx.conf配置文件:./nginx -s reload 进程查看:ps -ef|grep nginx
11:安装问题总结
问题1: 启动出现: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
端口被占用了,查看端口:lsof -i:80
nginx开启的话就是nginx.master或者nginx.woeker占用就不用管,如果不是这个的话那就把那个进程关闭 kill -9 pid
2.3:nginx.conf配置详解
nginx.conf配置文件架构
http块嵌套多个server块。每个server块又可以嵌套多个location块
... #全局块
########### 每个指令必须有分号结束。#################
#user administrator administrators; #配置用户或者组,默认为nobody nobody。
#worker_processes 2; #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址
error_log log/error.log debug; #制定运行日志路径,级别。这个设置可以放入全局块,
#http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events { #events块 对请求并发数等设置
worker_connections 1024; #最大连接数,默认为512
}
http #http块
{
... #http全局块
keepalive_timeout 65; #连接超时时间,默认为75s,可以在http,server,location块。
proxy_intercept_errors on; #如果被代理服务器返回的状态码为400或者大于400,设置的error_page配置起作用。默认为off。
upstream mysvr { //负载均衡配置:upstream指令配mysvr 多台代理服务器
server 127.0.0.1:7878 weight=1;
server 192.168.10.121:3333 weight=1; #可以通过weight设置负载均衡的权重
server 192.168.10.121:3333 backup; #backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
}
server #server块
{
... #server全局块
listen 4545; #监听端口
server_name 127.0.0.1; #监听地址
location [path] #location2路由配置块 访问path走以下路由
{
#root path; #访问的根目录 可以是相对路径或者绝对路径
#index index1.html index2.html; #设置默认页,Nginx首先会尝试访问path/index2.html文件,如果可以访问,就直接返回文件内容结束请求,否则再试图返回index1.html文件的内容,以此类推。(从后向前)
proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表
deny 127.0.0.1; #拒绝的ip
allow 172.18.5.54; #允许的ip
}
location [PATTERN] #path支持正则匹配,~为区分大小写,~*为不区分大小写。
{
}
}
server
{
...
}
... #http全局块
}
1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
4、server块:配置虚拟主机的相关参数,也就是监听的端口等一个http中可以有多个server。
5、location块:配置请求的路由,以及各种页面的处理情况。
1:默认配置分析从默认文件可以看到监听:localhost:80
当我们访问时根据location / (跟路径)路由配置转发到root配置的路径(相对路径html)访问的索引:index.html
1:我们提前有自己的静态资源index.html文件
2:需求:实现访问nginx时转发访问我们的index.html文件
3:上传index.html到/opt/soft/test_web
4:
jenkins官网学习文档
1:安装1:下载rpm安装包:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/2:上传到linux系统3:rpm -ivh jenkins-2.121.1-1.1.noarch.rpm
这一条命令即可安装完成4:vi /etc/sysconfig/jenkins 修改端口等默认配置
修改JENKINS_PORT=“8088”(自定义)
2:安装问题汇总
2.1:安装后输入localhost:port拒绝访问
可能防火墙未开放访问端口:解决
2.2:该Jenkins实例似乎已离线。根本原因无法连接到插件仓库
解决方法:
- 保留此离线页面,重新开启一个浏览器tab标签页
2.输入输入网址http://localhost:8080/pluginManager/advanced
3.进入该页面最底下,找到【升级站点】,把其中的链接改成http,http://updates.jenkins.io/update-center.json ,确定保存
4.提示jenkins,在重新启动jenkins,OK,已经可以重新连网,下载插件
重要:如果改完Http还是不行,请改成如下镜像
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json地址
http://mirror.esuni.jp/jenkins/updates/update-center.json
http://mirror.xmission.com/jenkins/updates/update-center.json
我的该Jenkins实例似乎已离线一直无法处理,插件镜像库连接不上,所以直接使用离线方式进行安装。
1:查找自己所需的插件:jenkins插件下载库
2:直接点击选择自己匹配的版本
3:将下载的.hpi文件复制到jenkins安装路径的plugins/ 路径下
4:重启即可
启动:service jenkins start 重启:service jenkins restart 停止 service jenkins stop 状态:service jenkins status 可在浏览器后直接跟命令使用:http://localhost:8080/status 重新加载配置文件http://localhost:8080/reload



