host

vue-cli 部署到子目录

一个人想着一个人 提交于 2020-01-11 00:29:22
生产环境打包到子目录 module.exports = { // baseUrl: "", devServer: { host: "0.0.0.0", disableHostCheck: true }, publicPath: process.env.NODE_ENV === 'production' ? '/dist/' : '/', outputDir: 'dist', assetsDir: 'static' } nginx 配置子目录路径 location /dist/ { try_files $uri $uri/ index.html =404; error_page 404 /dist/; } 来源: https://www.cnblogs.com/fenle/p/12178690.html

Q2Day81

∥☆過路亽.° 提交于 2020-01-10 20:54:13
Q2Day81 http://www.cnblogs.com/wupeiqi/articles/6229292.html 性能相关 在编写爬虫时,性能的消耗主要在IO请求中,当单进程单线程模式下请求URL时必然会引起等待,从而使得请求整体变慢。 import requests def fetch_async(url): response = requests.get(url) return response url_list = ['http://www.github.com', 'http://www.bing.com'] for url in url_list: fetch_async(url) from concurrent.futures import ThreadPoolExecutor import requests def fetch_async(url): response = requests.get(url) return response url_list = ['http://www.github.com', 'http://www.bing.com'] pool = ThreadPoolExecutor(5) for url in url_list: pool.submit(fetch_async, url) pool.shutdown(wait=True

Q2Day81

家住魔仙堡 提交于 2020-01-10 20:09:56
Q2Day81 性能相关 在编写爬虫时,性能的消耗主要在IO请求中,当单进程单线程模式下请求URL时必然会引起等待,从而使得请求整体变慢。 import requests def fetch_async(url): response = requests.get(url) return response url_list = ['http://www.github.com', 'http://www.bing.com'] for url in url_list: fetch_async(url) 2.多线程执行 2.多线程+回调函数执行 3.多进程执行 3.多进程+回调函数执行 通过上述代码均可以完成对请求性能的提高,对于多线程和多进行的缺点是在IO阻塞时会造成了线程和进程的浪费,所以异步IO回事首选: 1.asyncio示例1 1.asyncio示例2 2.asyncio + aiohttp 3.asyncio + requests 4.gevent + requests 5.grequests 6.Twisted示例 7.Tornado from twisted.internet import reactor from twisted.web.client import getPage import urllib.parse def one_done(arg): print

MMM高可用架构

◇◆丶佛笑我妖孽 提交于 2020-01-10 17:38:01
MMM高可用架构 MMM(Master-Master replication manager for MySQL) 是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,可以说是mysql主主复制管理器。虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个slave的read负载均衡。关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。 MMM提供了自动和手动两种方式移除一组服务器中复制延迟较高的服务器的虚拟ip,同时它还可以备份数据,实现两节点之间的数据同步等。由于MMM无法完全的保证数据一致性,所以MMM适用于对数据的一致性要求不是很高,但是又想最大程度的保证业务可用性的场景。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移

java面试(二十一)

不羁的心 提交于 2020-01-10 16:19:00
1、nginx的执行流程、优点 当HTTP请求交给Nginx处理时,首先Nginx会取出header头中的Host (此处也就是 nginx.test.com),然后将其与所有的配置文件中的每个server段中的server_name进行匹配,以此决定到底有哪个server块来处理这个请求。(当然有时也可能一个Host与多个server块中的server_name都匹配,这时会根据匹配的优先级选择实际处理的server块。) 此时我们可以看到HTTP请求匹配到了 server_name nginx.test.com; ,这样接下来nginx就会在 当前server块中匹配到 location / 。 接下来继续由nginx处理可以看到 location / { proxy_pass http://hellonginx; } ; 这就是进行反向代理处理,这个例子中使用的是nginx的 upstream模块 进行反向代理实现。 通过 proxy_pass http://hellonginx; 中的 hellonginx 可以找到对应的 upstream块 ,然后,可以根据其中的 server 127.0.0.1:8080 ; 再次进行代理请求到 目标服务器 。 优点如下: 开源免费,安装简单,配置简洁,服务器本身的Bugs非常少; 稳定的性能,丰富的功能集

自动化运维工具--ansible

你。 提交于 2020-01-10 13:13:43
作用 :ansible是一款强大的配置管理工具,可以对成百上千台服务器进行管理,ansible可以理解为一个管理员,基于SSH协议对多台服务器进行指令下 发实现多台服务器的批量操作,一次下发一条命令(ansible ad-hoc模式)的方式来控制服务器,也可以将多条命令写在纸上(ansible playbook模式)让服 务器按照你写好指令工作,也可以通过管理配置实现多台服务器同一时间做不通的事情。上述这些操作都可以基于ansible来实现,前提是ansible可以通 过SSH协议远程服务器 安装: Centos或者redhat可以通过yum安装 yum -y install ansible 配置:正常情况下默认配置即可满足 规划: 配置文件详解 :/etc/ansible/ansible.cfg inventory=/etc/ansible/hosts  表示主机清单inventory文件的位置 forks=5   并发连接数默认为5 sudo_user=root  默认执行命令的用户 remote_port=22 指定连接被管理节点的管理端口,默认是22端口,建议修改成其它的端口,能够更安全 host_key_checking = False  设置是否检查SSH主机的秘钥,值为True/False。关闭后第一次连接不会提示配置实例 timeout=60 

plsql远程访问数据库 解决ora-12541:TNS:无监听程序

老子叫甜甜 提交于 2020-01-10 11:59:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天在windows server 2012上安装了一个oracle 11g的数据库,但是安装 完成以后发现在我的机器上访问数据库出现错误,ora-12541:TNS:无监听程序。 后来查询了很多资料,加上借鉴博客园师兄的博客,我知道了问题的所在,今天拿出来分享一下: 具体操作步骤如下: 1.下载plsql,安装. 2.下载Instant Client,点击下载,下载第一个basic就行了,下载完解压缩,以放到主win7 d盘根目录为例:d:\instantclient_11_2 3.在d:\instantclient_11_2新建tnsnames.ora,用记事本编辑. 4.到server 2012的oracle安装目录找到 …\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,打开,比如数据库实例是orcl,找到如下代码,拷贝到本机d:\instantclient_11_2\tnsnames.ora里 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = server 2012 IP)(PORT = 1521)) (CONNECT_DATA = (SERVER =

Keepalived+HAproxy实现高可用负载均衡

徘徊边缘 提交于 2020-01-10 04:56:25
总概: Keepalived 是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器 HAProxy 提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 这里我利用HAproxy对多台redis服务器进行负载,然后用Keepalived对HAproxy进行监控: (主)服务器A:10.10.51.231 (从)服务器B:10.10.51.232 VIP:10.10.51.230 Keepalived监控A、B上的HAproxy,利用Keepalived的VIP漂移技术,若A、B上的HAprox都工作正常

mysql数据库安全加固

风格不统一 提交于 2020-01-10 04:05:46
数据库禁止root用户远程登录 登录数据库 use mysql; select host,user from user; 查看root用户的host是否为localhost,如果有host为%表示所有ip可以访问,执行 delete from user where user="root" and host="%"; 增加一个新用户管理数据库 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; username为用户名 host为%时表示所有,有可以使用172.20.0.0/255.255.0.0 password为用户密码 GRANT privileges ON databasename.tablename TO 'username'@'host'; privileges表示权限,包含SELECT , INSERT , UPDATE等,全部使用ALL 该命令授权的用户不能给其它用户授权,如果想让该用户可以授权使用 GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); 修改用户密码

CefSharp 开发经验汇总

允我心安 提交于 2020-01-10 03:54:06
CefSharp项目开发经验小结 CefSharp 开发经验汇总 做过2个项目,使用CefSharp.Wpf。 引用CefSharp.Wpf 操作步骤 Nuget里面引用CefSharp.Wpf; 解决方案平台换成x64,编译项目; 初始化 private ChromiumWebBrowser browser1; browser1 = new ChromiumWebBrowser(); browser1.Address = “你的网址”; 备注:若网站使用的flash制作,需要到官方下载flashplayer先安装。 一些使用技巧 截图功能: public static BitmapImage GetScreenSnapshot ( FrameworkElement ui ) { try { using ( MemoryStream ms = new MemoryStream ( ) ) { RenderTargetBitmap bmp = new RenderTargetBitmap ( ( int ) ui . ActualWidth , ( int ) ui . ActualHeight , 96 d , 96 d , PixelFormats . Pbgra32 ) ; bmp . Render ( ui ) ; JpegBitmapEncoder encoder =