nginx

读写分离很难吗?SpringBoot结合aop简单就实现了!

纵饮孤独 提交于 2021-02-12 18:50:44
点击上方 " 程序员小乐 "关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Take chances, give everything, and leave with no regrets. 抓住机会,全心付出,不留遗憾的离开。 每日掏心 话 生命中遇到的每一个人都是有理由的,之前所有的错失与遗憾,都只是为了遇到最终那个对的人。 来自 : 鄙人薛某 | 责编:乐乐 链接:juejin.im/post/5ddcd93af265da7dce3271de 程序员小乐(ID:study_tech) 第 864 次推文 图源:百度 往日回顾: 如何使用 Nginx 优雅的限流 正文 前言 入职新公司到现在也有一个月了,完成了手头的工作,前几天终于有时间研究下公司旧项目的代码。在研究代码的过程中,发现项目里用到了Spring Aop来实现数据库的读写分离,本着自己爱学习(我自己都不信…)的性格,决定写个实例工程来实现spring aop读写分离的效果。 环境部署 数据库:MySql 库数量:2个,一主一从 关于mysql的主从环境部署,可以参考: https://juejin.im/post/5dd13778e51d453da86c0e6f 开始项目 首先,毫无疑问,先开始搭建一个SpringBoot工程,然后在pom文件中引入如下依赖: <

初识 Docker

孤者浪人 提交于 2021-02-12 13:01:43
Docker 是个容器应用,可以跨平台安装,并使容器与容器间相“独立”运行;就好比每个容器都是一个虚拟机,而 Docker 成为了个云计算机。构建的容器好比机算机系统,可以在 Docker 中直接启动运行,而无需额外的配制系统环境。 一、安装 Docker Docker 分为企业版和社区版,还有桌面版,可以在 Docker Hub 去下载合适的版本 桌面版就是一个应用,直接安装就可以,很便捷,其它版本官方也有详细的说明 二、使用 Docker 1、获取容器 容器(container)是通过镱像(image)构建的,在 Docker Hub 中获取镱像(image) 搜索 docker search nginx //在 Docker Hub 搜索镱像(image) 获取 docker pull nginx //在 Docker Hub 获取镱像(image) 2、运行容器 运行 docker run --name ichochy-nginx -d -p 80:80 nginx docker run //在新容器(container)中运行命令 --name string //分配一个容器(container)名称 -d, --detach //后台运行容器(container),打印容器(container)ID -p, --publish list //端口映射,宿主机端口:容器

解决nginx端口占用问题

北慕城南 提交于 2021-02-12 13:00:33
1.键入命令:netstat -ano | findstr 80 查看80端口被哪个程序占用: 2.键入命令:netsh http show servicestate 查看http服务状态(注:解决后执行,则句柄无效): 3.根据上面控制器进程ID为5004,进入任务管理器中“服务”查找该PID进程对应的服务,或者详细信息中查找PID为5004的进程项,然后右键点击"转到": 5.选中右键"停止",然后启动nginx 来源: oschina 链接: https://my.oschina.net/u/4351676/blog/3352299

通配符

拜拜、爱过 提交于 2021-02-12 08:58:28
通配符一般用与命令行bash环境,而linux正则表达式用于grep,sed,awk场景 * 代表所有(0到多个)字符 [root@NGINX-Y test]# ls 123.txt a.txt oldboy.sh oldgirl.sh test.sh [root@NGINX-Y test]# ls *.sh oldboy.sh oldgirl.sh test.sh [root@NGINX-Y test]# ls * 123.txt a.txt oldboy.sh oldgirl.sh test.sh ? 通配符,代表任意1个字符 [root@NGINX-Y test]# ls ?.txt a.txt [root@NGINX-Y test]# ls ????.sh test.sh ; 连续不同命令的分隔符(两个命令的分隔符) [root@NGINX-Y test]# pwd;pwd /root/test /root/test # 匹配文件注释 | 管道 ~ 当前用户的家目录 - 上一次所在的路径 $ 变量前需要加的符号 / 路径分隔符号,也是根的意思 > 重定向,覆盖原有数据 >> 追加重定向,追加内容到文件尾部 < 输入重定向 << 追加输入重定向 ’ 单引号,不具有变量置换功能,输出时所见即所得 ” 双引号,具有变量置换功能,解析变量后输出,不加引号相当于双引号。 ` 反引号

明晚8点直播: NGINX缓存的工作原理

天涯浪子 提交于 2021-02-12 08:46:04
扫码下图中的二维码观看直播! 活动推荐 扫码查看活动详情 你还不能错过: 你还不能错过: 你还不能错过: URL是如何关联location配置块的? 如何configure定制出属于你的Nginx? HTTP请求是如何关联Nginx server{}块的? 问答、课件及录像地址:NGINX从入门到精通进阶系列培训 F5收购NginX 点击下方 阅读原文 ,加入NGINX开源社区! 本文分享自微信公众号 - NGINX开源社区(gh_0d2551f1bdb6)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/4580897/blog/4531079

[PHP] Ubuntu快速安装起PHP7.4

假如想象 提交于 2021-02-12 08:22:30
先安装一下这个命令 add-apt-repository apt-get install software-properties-common 添加第三方源: add-apt-repository ppa:ondrej/php apt-get update 安装php: apt-get install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring service php7.4-fpm start php -v nginx的配置文件和原来一样 server { listen 80 ; server_name localhost; access_log /var/log/nginx/ default.access.log main; error_log /var/log/nginx/ default.error.log; root /var/www/ html; location / { index index.html index.htm; } location ~ \.php$ { fastcgi_pass 127.0 . 0.1 : 9000 ; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script

gitlab

此生再无相见时 提交于 2021-02-12 06:30:29
gitlab安装和配置和访问 我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1 . 安装依赖软件 yum -y install policycoreutils openssh-server openssh- clients postfix 2 .设置postfix开机自启,并启动,postfix支持gitlab发信功能 systemctl enable postfix && systemctl start postfix 3 .下载gitlab安装包,然后安装 centos 6系统的下载地址:https: // mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6 centos 7系统的下载地址:https: // mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 我的是centos7,所以我在https: // mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7中找了个gitlab8.0.0版本,建议下载一个比较新的版本,我这里选了一个比较旧的版本仅仅是实验 下载rpm包并安装: wget https: // mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce

用Nginx代理请求,处理前后端跨域

女生的网名这么多〃 提交于 2021-02-12 04:56:11
  自从前端spa框架出现后,都是前后端分离开发了。我们在开发的时候难免会遇到跨域的问题。跨域这种问题解决的方法基本都是在服务端实现的。以java为例,我知道的有3种方法处理跨域:   1.使用 @CrossOrigin 注解对每一个接口进行跨域处理,缺点是比较麻烦 @CrossOrigin(origins ="*" ) @RequestMapping(value = "/test", method = RequestMethod.GET) public String test() { return "test" ; }   2.使用 @CrossOrigin 在入口类对所有接口进行跨域处理 @CrossOrigin(origins = "*" ) @RestController @SpringBootApplication public class SpringBootCorsTestApplication { // *** }   3.还可以添加一个配置类,对所有的接口进行跨域处理 @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry

Kubernetes集群中Service的滚动更新

喜你入骨 提交于 2021-02-12 04:17:57
Kubernetes集群中Service的滚动更新 二月 9, 2017 0 条评论 在移动互联网时代,消费者的消费行为已经“全天候化”,为此,商家的业务系统也要保持7×24小时不间断地提供服务以满足消费者的需求。很难想像如今还会有以“中断业务”为前提的服务系统更新升级。如果 微信 官方发布公告说:每周六晚23:00~次日凌晨2:00进行例行系统升级,不能提供服务,作为用户的你会怎么想、怎么做呢?因此,各个平台在最初设计时就要考虑到服务的更新升级问题,部署在 Kubernetes集群 中的Service也不例外。 一、预备知识 1、滚动更新Rolling-update 传统的升级更新,是先将服务全部下线,业务停止后再更新版本和配置,然后重新启动并提供服务。这样的模式已经完全不能满足“时代的需要”了。在并发化、高可用系统普及的今天,服务的升级更新至少要做到“业务不中断”。而滚动更新(Rolling-update)恰是满足这一需求的一种系统更新升级方案。 简单来说,滚动更新就是针对多实例服务的一种不中断服务的更新升级方式。一般情况,对于多实例服务,滚动更新采用对各个实例逐个进行单独更新而非同一时刻对所有实例进行全部更新的方式。“滚动更新”的先进之处在于“滚动”这个概念的引入,笔者觉得它至少有以下两点含义: a) “滚动”给人一种“圆”的映像,表意:持续,不中断。“滚动”的理念是一种趋势