Vue跨域配置如下:
proxyTable: {'/api': {target: 'http://localhost:4000',changeOrigin: true,pathRewrite: {'^/api': ''}}},
然而启动之后报错,意思是代理请求转发失败
[HPM] Error occurred while trying to proxy request /position/40.10039,116.36868 from localhost:8082 to http://localhost:4000 (HPE_INVALID_CONSTANT) (https://nodejs.org/api/errors.html#errors_common_system_errors)
proxyTable的配置肯定是生效了,但是没有配置正确,把localhost改为本机的ip即可。在许多地方用localhost会有点问题,具体原因待查,最好用ip。
proxyTable: {'/api': {target: 'http://127.0.0.1:4000',changeOrigin: true,pathRewrite: {'^/api': ''}}},
作者:斑马线cow
链接:http://events.jianshu.io/p/5af043b340e6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这是因为当前的MySQL不支持datetime为0的情况。
MySQL报incorrect datetime value ‘0000-00-00 00:00:00’ for column错误原因,是由于在MySQL5.7版本以上,默认设置SQL_Mode模式,在模式里有NO_ZERO_DATE,NO_ZERO_IN_DATE,存在表示系统里DATE类型字段不能有0值,所以在执行操作时会报此错误。
如果具备系统权限那么直接修改my.ini 配置文件,找到sql_mode行,修改为如下重启MySQL即可;如果没有sql_mode行,在my.ini的[mysqld]下添加如下重启MySQL即可:
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
在没有系统权限,我们有本地库权限情况下如何处理,我们可以使用
SELECT @@sql_mode;
就可以查到当前系统的SQL_mode配置,发现配置里有NO_ZERO_DATE,NO_ZERO_IN_DATE,这时我们使用以下命令,临时设置SQLmode模式,它只对本次会话有效,如果系统刷新后就需要我们重新设置。
SET @@sql_mode = ‘STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER’;
还有办法,不需要更改系统的SQL_mode模式,可以修改表结构,即将表中的date/datetime字段临时修改为VarChar字段
ALTER TABLE mytemp CHANGE c10 c10 VARCHAR(100) NULL
这时进行数据更新,将‘0000-00-00’ 替换为正常的日期字符串,在使用ALTER 命令修改表字段,这时表中的字段会自动转为日期类型,字段中不能有非法字符,也可以在VarChar类型时将字段设为NULL再将字段改回日期类型。经过验证此方法不会丢失字段的值。这个方法对于系统影响最小,需要的系统权限也最小。
——
mongoosejs 有一个跟 mongodb 的兼容性表格:
MongoDB Server 2.4.x: mongoose ^3.8 or 4.x
MongoDB Server 2.6.x: mongoose ^3.8.8 or 4.x
MongoDB Server 3.0.x: mongoose ^3.8.22, 4.x, or 5.x
MongoDB Server 3.2.x: mongoose ^4.3.0 or 5.x
MongoDB Server 3.4.x: mongoose ^4.7.3 or 5.x
MongoDB Server 3.6.x: mongoose 5.x
MongoDB Server 4.0.x: mongoose ^5.2.0
借助 docker 可以不在开发电脑中安装环境,比如 nodejs,记录下如何实现。
根据自己的电脑系统,在 install-docker-for-mac-windows 下载最新安装包并安装。
选择好目录后下一步,提示需要安装什么组件:
继续下一步
三个选项全部勾选,下一步就开始安装软件到系统中,等待一会即可完成安装。
初始化虚拟机
打开安装目录,不出意外目录结构是这样的:
├──kitematic├──boot2docker.iso├──docker.exe├──docker-compose.exe├──docker-machine.exe├──docker-quickstart-terminal.ico├──start.sh├──unins000.dat└──unins000.exe
将boot2docker.iso拷贝至C:\Users\用户名.docker\machine\cache目录下,双击打开start.sh文件。
当看到该画面时表示虚拟机已经安装在Virtual Box里面,可以打开Oracle VM VirtualBox查看:
这一步完成后,我们需要了解一个概念,就是现在我们有了两个系统,一个 windows 系统即我们直接操作的图形界面系统,我们称为主机,在主机上安装了VirtualBox,该软件内有 linux 虚拟机,称为docker主机,在 docker 主机中我们之后还会创建 linux 系统,称为容器。
可以通过终端显示的用户名@计算
近日,我公司有两个网站陆续出现了带www的域名无法打开网站的情况,经检查,是局部地区有这种情况。那什么是DNS劫持呢?
首先,我们来了解一下什么是DNS。DNS(Domain NameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。总的来说,它就像一个接线生,把我们要访问的IP导出来,让我们可以直接输入网址就能访问,而不用去记目标IP。而DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。简单来说,就是接线生被人买通了,不给你导向正确的IP地址,而是一个其他的IP地址。这就是DNS劫持。
接下来,小编带大家来看下域名(DNS)被劫持我们是怎么解决的。
检测域名解析和域名绑定情况;
排除是网站自身或者服务器的问题,可以通过修改换绑网站或者服务器排查;
以上问题都排除后,可以将我们的域名的DNS服务器更换到其他的平台,比如DNSPod,阿里云,新网等这些大平台进行解析。域名如果不是这些平台注册的也没关系,可以转移到这些平台进行管理,也可以不转移,只用他们的云解析DNS功能,进行绑定外部域名进行解析,修改DNS服务器后大概48小时全球生效,要耐心等待。如果换了DNS服务器解析了,还是不能访问,就只有再进一步排查。毕竟互联网涉及很广,不是一蹴而就的。
排除服务器和网站的问题,将域名解析绑定到其他正常可以访问的网站和对应服务器上,不同地区、不同平台的服务器都可以试一下,结果发现还是带www网址无法打开。
这时候就要考虑我们的域名是不是被运营商屏蔽了,推荐几个检测平台试下,可能不太准确,我们就多试几个。
DNS检测平台: Ping.cn 、网速通.测吧和监测宝等
通过检测,发现重庆地区的IP地址并没有指向我们的服务器IP,而是指向了另外的IP地址,电信则是0.0.0.0,移动则是172.23.74.174. 这一点证
一、拉取项目镜像
docker pull registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
二、启动测试容器
docker run -d --name test registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
三、拷贝容器资源
#宿主机创建mindoc容器路径mkdir -p /www/wwwroot/mindoc#创建文件上传路径mkdir -p /www/wwwroot/mindoc/uploads#获取配置文件confdocker cp test:/mindoc/conf /www/wwwroot/mindoc/conf
四、修改conf/app.conf文件
#找到baseuurl并注释#baseurl=https://www.iminho.me/wiki
修改app.conf配置文件,关联数据库。
五、编辑容器创建命令
docker run --name=mindoc --restart=always -v /usr/local/www/mindoc/conf:/mindoc/conf -p 8181:8181 -d registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1docker run --name=mindoc --restart=always -e MINDOC_DB_ADAPTER=mysql -e MINDOC_DB_DATABASE="mindoc" -e MINDOC_DB_USERNAME="mindoc" -e MINDOC_DB_PASSWORD="CNKttdrYWaKn6myh" -p 8181:8181 -d registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
六、停止及删除测试容器
#停止test容器docker stop test#删除test容器docker rm test
七、访问mindoc登录页面
#
一、 docker 服务启动启动
systemctl enable docker.service
systemctl disable docker.service
二、docker 容器自动启动
# 开启容器自启动docker update --restart=always 【容器名】
例如:docker update --restart=always tracker
# 关闭容器自启动docker update --restart=no【容器名】
例如:docker update --restart=no tracker
no:
不要自动重启容器。(默认)
on-failure:
如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。
always:
如果容器停止,请务必重启容器。如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。(参见重启政策详情中列出的第二个项目)
unless-stopped:
类似于always,除了当容器停止(手动或其他方式)时,即使在Docker守护程序重新启动后也不会重新启动容器。
文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
版权声明:本文为CSDN博主「普通网友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_67392661/article/details/123732115
pip install pymysql
三种连接数据库的方式
import pymysql# 方式一conn = pymysql.connect('localhost', 'root', 'root')# 方式二conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='', charset='utf8')# 方式三config = {'host': '127.0.0.1','port': 3306,'user': 'root','passwd': 'root','charset': 'utf8'}conn = pymysql.connect(**config)
创建一个test数据库并进入
import pymysqldb = pymysql.connect("localhost", "root", "root", "test")# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()cursor.execute('DROP DATABASE IF EXISTS test')cursor.execute('CREATE DATABASE IF NOT EXISTS test')conn.select_db('test')
创建一张user表
import pymysqldb = pymysql.connect("localhost", "root", "root", "test")cursor = db.cursor()cursor.execute('CREATE TABLE user(id int primary key,name varchar(30))')
import pymysqldb = pymysql.connect("localhost", "root", "root", "test")cursor = db.cursor()try:# 执行
这里顺带整理几个常用的Nginx 301重定向规则。
1、重定向到新域名
server {server_name www.itbulu.com;rewrite ^(.*) https://www.lexiaohu.com$1 permanent;}
这里举个例子,将在原来域名的Nginx设置跳转到新域名。
2、目录跳转新域名
if ( $request_filename ~ laojiang/ ) {rewrite ^ https://laojiang.itbulu.com/? permanent;}
我们可以将 laojiang目录,单独设置一个二级域名站点。
3、目录迁移跳转
if ( $request_filename ~ oldfiles/ ) {rewrite ^ https://www.itbulu.com/newfiles/? permanent;}
新目录迁移。
4、WWW跳转到非WWW
server {server_name www.itbulu.com;rewrite ^/(.*)$ https://itbulu.com/$1 permanent;}
5、非WWW跳转到WWW
server {server_name itbulu.com;rewrite ^/(.*)$ https://www.itbulu.com/$1 permanent;}
这几个又是我们常用的几个Nginx规则。