随笔分类 - CentOS服务器
CentOS服务器环境搭建系列
摘要:跨域请求原理
1、通过jsonp跨域
利用在页面中创建script节点的方法向不同域提交HTTP请求的方法称为JSONP,这项技术可以解决跨域提交Ajax请求的问题。
js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。
阅读全文
摘要:mysql数据库突然连接失败,启动不了的解决思路,可能是磁盘满了,需要删掉日志后重启才能自动恢复
错误号码2013
Lost connection to MySQL server at handshake: reading inital communication packet system error:2
用df命令查了下,果然磁盘满了,达到100%了,用du -hs 命令查询并删除一些大的日志文件:
删除了些没用的日志后,重新启动数据库还是出错,用df命令查询占用空间还是100%,需要reboot重启服务器才行。
阅读全文
摘要:免费SSL证书(https网站)申请,便宜SSL https证书申请
为什么要用HTTPS
网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。
有HTTPS的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。
Let’s Encrypt如果要启用HTTPS,我们就需要从证书授权机构处获取一个证书,Let’s Encrypt 就是一个证书授权机构。我们可以从 Let’s Encrypt 获得网站域名的免费的证书。
Certbot是Let’s Encrypt推出的获取证书的客户端,可以让我们免费快速地获取Let’s Encrypt证书。
FreeSSL首页 - FreeSSL.cn一个提供免费HTTPS证书申请的网站
https://freessl.cn/
100% 永久免费,再也不用付费申请 SSL 证书,Let's Encrypt 与 TrustAsia 为我们提供免费SSL证书。
阅读全文
摘要:centos7安装最新稳定GA版mysql-5.7.31实战全过程详解
ps:mysql最新GA版是5.7.31了,之前是5.7.28
1.查询数据库版本
mysqld -version
mysqld (mysqld 5.7.31)
2. 卸载自带的mariadb和mysql
# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
# rpm -qa | grep mysql
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
由于这个在国内下载速度很慢,上传速度也很慢
可以直接复制浏览器下载里面的url地址,在服务器上用wget命令直接下载
到/opt/mysql目录下(没有mysql目录则创建一个)执行:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
阅读全文
摘要:centos mysql忘记密码,修改密码
1.修改配置文件my.cnf
[root@localhost ~]# vi /etc/my.cnf
找到mysqld在之后添加
skip-grant-tables
保存退出
2. 重启mysql服务(必须重启后才能不需要密码进入)
systemctl restart mysqld
3.直接登陆mysql而不需要密码
mysql -u root (直接点击回车)
4.在mysql中输入
use mysql;
update user set authentication_string='admin1234' where user='root';
5.执行 flush privileges;
6.退出mysql ,到my.cnf中把开始添加的skip-grant-tables去掉
7.重启mysql服务 systemctl rstart mysqld
8.重新进入 mysql -u root -p
阅读全文
摘要:Mac下使用SSH连接远程Linux服务器
一、直接使用终端命令
打开Mac的终端,输入sudo -i,切换到root权限;(这步非必要,admin权限的用户不需要切换到root权限就可以直接使用了)
输入ssh root@ip 。(ip就是主机外网IP地址);
接下来会出现提示输入密码,然后输入你的Linux服务器的密码;
连接成功。
可以跟在本地命令行操作一个进行操作了
第一次可能会提示下面内容,输入yes回车后再输入服务器密码才能进入:
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
阅读全文
摘要:pm2好用的node进程管理工具,监控进程开机自启动,java进程配置,安装Nodejs环境
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
pm2 是一个带有负载均衡功能的Node应用的进程管理器.
当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。
常用命令:pm2 list 查看当前进程,pm2 monit 进程监控,pm2 startup pm2 save 开机自启动设置。
安装PM2
需要先安装Nodejs环境(文章后面附有安装教程),建议使用淘宝镜像cnpm
使用cnpm命令安装全局的pm2
cnpm install -g pm2
注:java 生态自动化监控一般用:prometheus
阅读全文
摘要:Redis主从复制、哨兵、Cluster三种模式
Redis作为缓存的高效中间件,在我们日常的开发中被频繁的使用,今天就来说一说Redis的四种模式,分别是「单机版、主从复制、哨兵、以及集群模式」。
可能,在一般公司的程序员使用单机版基本都能解决问题,在Redis的官网给出的数据是10W QPS,这对于应付一般的公司绰绰有余了,再不行就来个主从模式,实现读写分离,性能又大大提高。
程序员仅限于单机版和主从模式的crud是不行的,至少也要了解「哨兵」和「集群模式」的原理
单机
单机版的Redis就比较简单了,基本90%的程序员都是用过,官网推荐操作Redis的第三方依赖库是Jedis,在SpringBoot项目中,引入下面依赖就可以直接使用了:
阅读全文
摘要:MAC版SecureCRT+SecureFX 安装说明,版本8.5.1,好用的ssh,文件传输工具
1.安装
双击 scrt-sfx-8.5.1-1764.osx_x64.dmg,弹出两个图标,拖入应用程序里就行了
2.finder -> 应用程序 右键,显示包内容 到目录 Contents/MacOS/ 替换里面的SecureCRT文件
阅读全文
摘要:阿里云的邮箱smtp默认是开启的,只需要账号,密码,host需要填写为smtp.mxhichina.com, 端口25就能发送邮件,但需要在阿里云验证才能开25端口
25端口不行,但需要在阿里云验证才能开25端口才行
不如申请个 163 或者 QQ 什么的, 方便配置
网易163邮箱一封邮件最多发送给 40 个收件人 , 每天发送限额为 50 封。
企业邮箱
单个用户每天最多只能发送 1000 封邮件,单个邮件最多包含 500 个收件人邮箱地址。
阅读全文
摘要:阿里云ecs服务器更换公网IP,创建6个小时内的实例,可以更换公网IP,最多3次。
先停止运行,实例列表-更多-网络安全组-更换公网IP,实例创建6小时内可以免费更换,最多3次。
创建6小时后,专有网络实例(不包括按固定带宽计费的包年包月实例)可以将公网IP转换为弹性公网EIP再操作。
阅读全文
摘要:mac苹果电脑使用相关,开发环境配置指南(持续更新)
苹果电脑装window虚拟机用那个比较好,看公司同事装了个,可以划一下就切换到window系统
virtualbox(免费),vmware fusion,parallels
mac安装软件,现在都是用brew 这个工具来装
brew install xxx (gnu工具 )
brew cask instal xxx (qq wechat) 等等,都是直接从软件的官网拉,会有md5 sha256校验,这个倒不用担心装到有问题的软件。
安装mysql客户端
搜索
brew search mysql
brew search Sequel-Ace
安装
brew cask install sequel-ace
安装虚拟机软件
brew cask install virtualbox
brew cask install virtualbox-extension-pack
阅读全文
摘要:自动支持图片webp格式压缩,图片服务器升级webserver
webp server 是开源免费的。
图片服务器升级,自动支持webp,得先升级openresty
用go写的 webserver 请求到jpg png gif这些,再缓存起来,外面请求还是jpeg这些,实际先到go返回的webp格式,当浏览器不支持webp的才返回源文件。
提升加载时间,图片从434KB减少到340KB,1/4(25%)的压缩率。
根据 caniuse 的统计情况,主流浏览器(接近80%)都支持 webp 了,如果遇到 Safari 这样的奇葩,直接返回原图。
最重要的一点是——我们访问的 URL 可以完全不用改变,访客访问的依然是xxx.jpg ,但是得到的图片格式为:image/webp,而且体积减少了不少(25%)。
阅读全文
摘要:用GitLab搭建自己的私有GitHub
现在git是开发人员的必备技能之一,github的代码仓库管理系统目前是最好的,下面搭建私有github系统的过程。
下载gitlab:
官网地址:https://about.gitlab.com/install/
Download a GitLab Omnibus package (recommended installation)
阅读全文
摘要:vim快速定位到某一行的几种方法和显示行号,定位匹配字符串,显示当前行信息的命令
vim打开文件默认光标会停留在文件开头,当文件行数比较多的时候很难快速找到行数进行修改,以下几种方法可以帮你快速定位到指定行。
1.命令模式下(没有输入i进行编辑前),:n 比如想到第65行,输入 ":65" 按回车即可定位到65行。
2.命令模式下(没有输入i进行编辑前),ngg 比如想到第86行,输入 "86gg" 或"86G" (这个不用按回车就直接定位到对应行了)
3.打开文件定位到指定行 vim filename +n 比如想到第65行,输入 vim filename +65 或者 vim +65 filename
阅读全文
摘要:mysql数据库表上百万记录优化思路杂谈
我的mysql数据库表上百万记录,插入数据的时候超慢,插入一笔都差不多将近1秒钟了
有没有做索引?数据量大了一般要做分区分表处理的,实时性要求高的一般要做缓存或者数据总线分层处理的
你用的是不是ssd硬盘?ssd硬盘比机械硬盘快很多倍。
数据库光靠调参数,以经提升到最快0.007秒多一笔插入的速度了
看来还是大数据技术比较重要
调整了那些参数提升这么多?
调了很多参数,mysql、springboot、shardingsphere、druid
可能需要评估一下如何加入Hadoop来进行存储及处理区块链的数据
阅读全文
摘要:对各种开发语言优劣的讨论,入门难度,IDE,大型网站并发性,java,golang,php,python,api接口,前后端分离
现在很多有高并发要求的 java c++的接口改成golang的
有个朋友公司就是把java写的接口改成golang的,听他说的是效率提高了上百倍,节省了大量服务器
java入门比较难,要达到熟练独立开发一个网站出来需要比较长的学习时间
php Python入门很容易,要做大型网站深入也很难
php Python零基础一星期就可以入门了
java你搞一个月门都没有找到
php做个小网站还是比较快的
Python做个小工具还是很好的,一个文件就可以直接运行起来了
金融相关的用java比较多,比较成熟了,招人也容易
现在流行前后端分离了
golang java 做API接口更有优势的
Python做科学计算,自动化,人工智能的更有优势
springboot springcloud 做API还是很不错的,之前的tomcat 那些容器搞得太复杂了
阅读全文
摘要:tensorflow需要pip安装的库
更换pip源到国内镜像
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
需要安装的库:
阅读全文
摘要:人工智能将迎来谷歌,facebook,微软三足鼎立格局,围棋德扑麻将都被超越了
深度学习领域三大开山鼻祖分别到谷歌,facebook,微软强势归来,人工智能或将迎来三足鼎立格局
深度学习领域的三大开山鼻祖:约书亚·本西奥(Yoshua Bengio)加入微软(另外两个开山鼻祖:严·勒坤(Yann LeCun)和杰弗里·辛顿(Geoffrey Hinton)都已经分别加盟Facebook和谷歌),让微软抢占新一代计算平台,并试水聊天机器人,微软有望与Facebook和谷歌形成人工智能领域的三足鼎立格局。
微软大力发展AI 2017年研发团队已超8000人。
阅读全文