
作者: Mr.Li
-
微信商户平台超级管理员更换
之前员工离职,需要将超级管理员更换,你可以这样操作:
超级管理员是商户平台绑定的联系人,若需更换可申请修改联系人姓名即可。
修改路径:
1、商户平台可登录:进入【商户平台】,点击【账户中心】->【商户信息】->【超级管理员信息】后面选择“修改”。
2、商户平台不可登录:请在电脑端打开此链接:pay.weixin.qq.com/index.php/public/modify_mobile ,根据页面提示提交资料完成“自助修改超级管理员” -
如何更改Linux默认数据盘分区挂载目录
Linux系统的云服务器的默认分区已做数据盘自动挂载处理,默认数据盘挂载分区目录为/home
比如您需要安装WDCP、BT宝塔面板等,推荐您更改挂载目录为/www
比如Centos系统,操作方法:
umount /home
mkdir /www
mount /dev/mapper/Xvdbgroup-xvdb1 /www
sed -i '$d' /etc/fstab
echo "/dev/mapper/Xvdbgroup-xvdb1 /www ext3 defaults 1 2" >> /etc/fstab
df -hal
此时您将看到,数据盘目录已经挂载为/www
您比如想更改数据盘目录挂载为/data目录,您可以修改以上命令中的/www为/data即可。
-
node 让命令在后台执行保持服务启动
启动命令加上nohup xxxxxx &让命令在后台执行保持服务启动,即nohup /mydata/beizhenfang-agent-mobile-node/bin/www.js &。
-
总结:阿里云实例root不能SSH登录问题
1.首先检查sshd服务监听端口。
netstat -tunlp | grep 22知识点:
[root@localhost ~]# netstat -nlp netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 -n : 不进行DNS轮询(可以加速操作) 即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况·· [root@localhost ~]# netstat -nlp |grep LISTEN //查看当前所有监听端口· [root@localhost ~]# netstat -nlp |grep 80 //查看所有80端口使用情况· [root@localhost ~]# netstat -an | grep 3306 //查看所有3306端口使用情况·2.ssh配置文件里面设置了禁止root账号远程登陆,如果确认要使用root远程登陆服务器,要修改ssh配置开启一下root远程登陆。检查ssh是否禁止了root登录 :cat /etc/ssh/sshd_config|grep Root
3./etc/sysconfig/network-scripts/目录下是否有主网卡eth0的配置文件,若无需新建该文件并增加配置信息后启动网卡成功,就可以远程连接了
4.执行下service iptables stop 命令关闭下系统防火墙
5.查看系统内部是否配置了防火墙拦截22端口,并且ssh配置文件设置拒绝root用户登录,若是则调整为允许
-
Nodejs Redis 全部操作方法
安装 npm install redis –save
demo
var redis = require('redis');
var client = redis.createClient('6379', '127.0.0.1');
client.auth("password");
client.set('hello','This is a value');
client.expire('hello',10) //设置过期时间
client.exists('key') //判断键是否存在
client.del('key1')
client.get('hello');//stirng
命令 行为 返回值 使用示例(略去回调函数)
set 设置存储在给定键中的值 OK set('key', 'value')
get 获取存储在给定键中的值 value/null get('key')
del 删除存储在给定键中的值(任意类型) 1/0 del('key')
incrby 将键存储的值加上整数increment incrby('key', increment)
decrby 将键存储的值减去整数increment decrby('key', increment)
incrbyfloat 将键存储的值加上浮点数increment incrbyfloat('key', increment)
append 将值value追加到给定键当前存储值的末尾 append('key', 'new-value')
getrange 获取指定键的index范围内的所有字符组成的子串 getrange('key', 'start-index', 'end-index')
setrange 将指定键值从指定偏移量开始的子串设为指定值 setrange('key', 'offset', 'new-string')//list
命令 行为 返回值 使用示例(略去回调函数)
rpush 将给定值推入列表的右端 当前列表长度 rpush('key', 'value1' [,’value2′]) (支持数组赋值)
lrange 获取列表在给定范围上的所有值 array lrange('key', 0, -1) (返回所有值)
lindex 获取列表在给定位置上的单个元素 lindex('key', 1)
lpop 从列表左端弹出一个值,并返回被弹出的值 lpop('key')
rpop 从列表右端弹出一个值,并返回被弹出的值 rpop('key')
ltrim 将列表按指定的index范围裁减 ltrim('key', 'start', 'end')//set
命令 行为 返回值 使用示例(略去回调函数) sadd 将给定元素添加到集合 插入元素数量 sadd('key', 'value1'[, ‘value2’, …]) (不支持数组赋值)(元素不允许重复)
smembers 返回集合中包含的所有元素 array(无序) smembers('key')
sismenber 检查给定的元素是否存在于集合中 1/0 sismenber('key', 'value')
srem 如果给定的元素在集合中,则移除此元素 1/0 srem('key', 'value')
scad 返回集合包含的元素的数量 sacd('key')
spop 随机地移除集合中的一个元素,并返回此元素 spop('key')
smove 集合元素的迁移 smove('source-key'dest-key', 'item')
sdiff 返回那些存在于第一个集合,但不存在于其他集合的元素(差集) sdiff('key1', 'key2'[, ‘key3’, …])
sdiffstore 将sdiff操作的结果存储到指定的键中 sdiffstore('dest-key', 'key1', 'key2' [,’key3…])
sinter 返回那些同事存在于所有集合中的元素(交集) sinter('key1', 'key2'[, ‘key3’, …])
sinterstore 将sinter操作的结果存储到指定的键中 sinterstore('dest-key', 'key1', 'key2' [,’key3…])
sunion 返回那些至少存在于一个集合中的元素(并集) sunion('key1', 'key2'[, ‘key3’, …])
sunionstore 将sunion操作的结果存储到指定的键中 sunionstore('dest-key', 'key1', 'key2' [,’key3…])//hash
命令 行为 返回值 使用示例(略去回调函数)
hset 在散列里面关联起给定的键值对 1(新增)/0(更新) hset('hash-key', 'sub-key', 'value') (不支持数组、字符串)
hget 获取指定散列键的值 hget('hash-key', 'sub-key')
hgetall 获取散列包含的键值对 json hgetall('hash-key')
hdel 如果给定键存在于散列里面,则移除这个键 hdel('hash-key', 'sub-key')
hmset 为散列里面的一个或多个键设置值 OK hmset('hash-key', obj)
hmget 从散列里面获取一个或多个键的值 array hmget('hash-key', array)
hlen 返回散列包含的键值对数量 hlen('hash-key')
hexists 检查给定键是否在散列中 1/0 hexists('hash-key', 'sub-key')
hkeys 获取散列包含的所有键 array hkeys('hash-key')
hvals 获取散列包含的所有值 array hvals('hash-key')
hincrby 将存储的键值以指定增量增加 返回增长后的值 hincrby('hash-key', 'sub-key', increment) (注:假如当前value不为为字符串,则会无输出,程序停止在此处)
hincrbyfloat 将存储的键值以指定浮点数增加
//zset
命令 行为 返回值 使用示例(略去回调函数)
zadd 将一个带有给定分支的成员添加到有序集合中 zadd('zset-key', score, 'key') (score为int)
zrange 根据元素在有序排列中的位置,从中取出元素
zrangebyscore 获取有序集合在给定分值范围内的所有元素
zrem 如果给定成员存在于有序集合,则移除
zcard 获取一个有序集合中的成员数量 有序集的元素个数 zcard('key')
keys命令组
命令 行为 返回值 使用示例(略去回调函数)
del 删除一个(或多个)keys 被删除的keys的数量 del('key1'[, ‘key2’, …])
exists 查询一个key是否存在 1/0 exists('key')
expire 设置一个key的过期的秒数 1/0 expire('key', seconds)
pexpire 设置一个key的过期的毫秒数 1/0 pexpire('key', milliseconds)
expireat 设置一个UNIX时间戳的过期时间 1/0 expireat('key', timestamp)
pexpireat 设置一个UNIX时间戳的过期时间(毫秒) 1/0 pexpireat('key', milliseconds-timestamp)
persist 移除key的过期时间 1/0 persist('key')
sort 对队列、集合、有序集合排序 排序完成的队列等 sort('key'[, pattern, limit offset count])
flushdb 清空当前数据库 -
nginx反向代理之端口配置
cd /etc/nginx/
vim nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name 域名;
listen 443 ssl;
root /usr/share/nginx/html;
ssl_certificate cert/1_www.maomin.club_bundle.crt;
ssl_certificate_key cert/2_www.maomin.club.key;
ssl_session_timeout 5m;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;location / {
root /root/www/;
index index.html index.htm;
}
location /chat/ {
proxy_pass http://内网:3001/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /upload/ {
proxy_pass http://内网:8083/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
————————————————
版权声明:本文为CSDN博主「Vam的金豆之路」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39045645/article/details/90029156 -
Ngnix中location与proxy_pass配置规则总结
1.location匹配变量与配置格式
location配置用于匹配请求的URL,即ngnix中的$request_uri变量
$request_uri
location配置格式:
location [ 空格 | = | ~ | ~* |^~|!~ | !~* ] /uri/ {}
2.loacation匹配顺序
location 匹配格式规则前缀有四种:= 开头,表示精确匹配
^~ 开头,注意这不是一个正则表达式–它的目的是优于正则表达式的匹配;如果该location是最佳匹配,则不再进行正则表达式检测。
~ 开头,表示区分大小写的正则匹配;
~* 开头,表示不区分大小写的正则匹配
!~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则
location 如果不带前缀就是普通字符串匹配:
/uri/ 普通字符串匹配
/ 绝对路径根目录匹配, 如果没有其它匹配,任何请求都会匹配到匹配的搜索顺序优先级为:
(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)
首先匹配=
其次匹配^~
再其次按照配置文件的顺序进行正则匹配
最后是交给/进行通用匹配
注意:
当有匹配成功时,立刻停止匹配,按照当前匹配规则处理请求
特别注意:优先搜索并不意味着优先命中!
字符串匹配优先搜索,但是只是记录下最长的匹配 ( 如果 ^~ 是最长的匹配,则会直接命中,停止搜索正则 ),然后继续搜索正则匹配,如果有正则匹配,则命中正则匹配,如果没有正则匹配,则命中最长的字符串匹配。
匹配模式及顺序举例:location = /uri =开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern ~开头表示区分大小写的正则匹配。
location ~* pattern ~*开头表示不区分大小写的正则匹配。
location /uri 不带任何修饰符,也表示前缀匹配,但是在正则匹配之后,如果没有正则命中,命中最长的规则。
location / 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default。
3、location与proxy_pass代理规则
3.1 location是否以“/”结尾在ngnix中location进行的是模糊匹配
没有“/”结尾时,location/abc/def可以匹配/abc/defghi请求,也可以匹配/abc/def/ghi等
而有“/”结尾时,location/abc/def/不能匹配/abc/defghi请求,只能匹配/abc/def/anything这样的请求
3.2 proxy_pass是否以“/”结尾在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对路径,则nginx不会把location中匹配的路径部分加入代理uri;如果没有/,则会把匹配的路径部分加入代理uri。
请求域名为:http://127.0.0.1
location /apiA/ {
# 结尾的/必须加上,否则跳转会失败
proxy_pass http://127.0.0.2/;
}
这里的反向跳转等价于 http://127.0.0.1/apiA/作为一个整体 全部替换成http://127.0.0.2/
请求http://127.0.0.1/apiA/test.html 会被代理到http://127.0.0.2/test.html
location /apiB/ {
# 结尾的/必须加上,否则跳转会失败
proxy_pass http://127.0.0.2/apix/;
}
这里的反向跳转等价于 http://127.0.0.1/apiB/作为一个整体 全部替换成http://127.0.0.2/apix/
请求http://127.0.0.1/apiB/test.html 会被代理到http://127.0.0.2/apix/test.html2.一些情况下,不能确定替换的URI
location里是正则表达式,这种情况下,proxy_pass里最好不要有URI
在proxy_pass前面用了rewrite,如下,这种情况下,proxy_pass是无效的:location /name/ {
rewrite /name/([^/]+) /users?name=$1 break;
# 结尾的/必须加上,否则跳转会失败
proxy_pass http://127.0.0.1/;————————————————
版权声明:本文为CSDN博主「比特币爱好者007」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43343144/article/details/97770370 -
Nginx 重启、关闭命令
关闭nginx服务 kill `cat /usr/local/nginx/logs/nginx.pid` nginx -s reload :修改配置后重新加载生效 nginx -s reopen :重新打开日志文件 nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确 关闭nginx: nginx -s stop :快速停止nginx quit :完整有序的停止nginx 其他的停止nginx 方式: ps -ef | grep nginx kill -QUIT 主进程号 :从容停止Nginx kill -TERM 主进程号 :快速停止Nginx pkill -9 nginx :强制停止Nginx 启动nginx: nginx -c /path/to/nginx.conf 平滑重启nginx: kill -HUP 主进程号 -
redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 问题解决
官方网站地址: http://redis.io
下载地址: http://redis.io/download1.启动redis 客户端 redis-cli 报错
表示服务端没有启动成功
2.如何启动和关闭redis服务
