把时间当作朋友李笑来-李笑来
We do not plan to fail, we fail to plan
遇到Sphere6.0 (esxi6 )导出的OVF虚拟机模板在Vmware WorkStation 9和VmWare WorkStation11中导入报错的问题,暂改成OVA格式进行数据交换。
Nginx服务器返回大量502Bad Gateway和504 Time-Out,代理服务器Jetty端存在大量CLOSE_WAIT和TIME_WAIT状态的连接
错误信息查看口令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
Linux中TCP/IP内核参数 优化
编辑参数:vi /etc/sysctl.conf
1 | net.core.somaxconn = 4096 |
让参数生效:/sbin/sysctl -p
Nginx配置参数
主要配置三个proxy_超时控制参数
1 | upstream uadb_server{ |
查看口令:netstat -an
参数说明:1
2
3
4
5
6
7
8
9
10
11LISTEN:侦听来自远方的TCP端口的连接请求;
SYN-SENT:在发送连接请求后等待匹配的连接请求;
SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认;
ESTABLISHED:代表一个打开的连接,我们常用此作为并发连接数;
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认;
FIN-WAIT-2:从远程TCP等待连接中断请求;
CLOSE-WAIT:等待从本地用户发来的连接中断请求;
CLOSING:等待远程TCP对连接中断的确认;
LAST-ACK:等待原来发向远程TCP的连接中断的确认;
TIME-WAIT:等待足够的时间以确保远程TCP连接收到中断请求的确认;
CLOSED:没有任何连接状态;
查看口令:netstat -an|awk '/^tcp/{++S[$NF]}END{for (a in S)print a,S[a]}'
CLOSED:没有连接活动或正在进行的;
LISTEN:服务器正在等待的进入呼叫;
SYN_RECV:一个连接请求已经到达,等待确认;
SYN_SENT:应用已经开始,打开一个连接;
ESTABLISHED:正常数据传输状态,也可以近似的理解为当前服务器的并发数;
FIN_WAIT1:应用已经完成;
FIN_WAIT2:另一边同意释放;
ITMED_WAIT:等待所有分组死掉;
CLOSING:两边同时尝试关闭;
TIME_WAIT:另一边已初始化一个释放;
LAST_ACK:等待所有分组死掉;
CentOS日常使用过程中积累的Shell脚本或Linux命令,持续维护更新
将文件复制到CentOS后进行安装
执行
1 | cd /tmp |
一路回车即可
具体参考LNMP一键安装官网
LNMP:Linux+Nginx+Mysql+PHP
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
MariaDB 目录 : /usr/local/mariadb/
MariaDB数据库所在目录:/usr/local/mariadb/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版为/home/wwwroot/phpmyadmin/ 1.0版为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 : 0.9版为 /home/wwwroot/ 1.0版为 /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
PureFtpd 目录:/usr/local/pureftpd/
PureFtpd web管理目录: 0.9版为/home/wwwroot/default/ftp/ 1.0版为 /home/wwwroot/default/ftp/
Proftpd 目录:/usr/local/proftpd/
Redis 目录:/usr/local/redis/
下载wget --no-check-certificate https://api.sinas3.com/v1/SAE_lnmp/soft/lnmp1.2-full.tar.gz
一键下载安装wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp
离线安装cd /tmp/lnmp && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp
网络情况10M带宽耗时:45分钟
1 | npm install -g hexo-cli |
1 | npm un hexo-renderer-marked --save |
1 | # Math Formulas Render Support |
1 | hexo g (generate) |
多说挂了,换gitment,参考
错误日志:Error: spawn git ENOENT
解决方案:
方案1)添加环境变量C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\libexec\git-core
方案2)安装github windows>在项目中Open in Gitshell>执行hexo d -g
1 | sequence: |
1 | // index.js |
1 | if (sequences.length) { |
cd /tmp && tar -zxf zabbix.gz
修改zabbix_server程序的磁盘路径
修改zabbix_server主程序路径
1 | # vim /usr/local/zabbix/misc/init.d/tru64/zabbix_server |
添加下面两句到#!/bin/bash
之后,解决service myservicedoes not support chkconfig
问题
1 | # chkconfig: 2345 10 90 |
编辑zabbix_agentd配置文件vim /usr/local/zabbix/etc/zabbix_agentd.conf
1 | LogFile=/tmp/zabbix_agentd.log |
执行安装脚本
1 | cd /usr/local/zabbix/script/install-zabbix_agentd.sh |
若zabbix的host无法访问,考虑防火墙是否需要关闭/加入信任端口
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#永久关闭防火墙
chkconfig iptables off
查看zabbix服务是否已启动
netstat -utlnp | grep zabbix
配置文件更新后,需重启客户端服务
service zabbix_agentd restart
1 | mkdir -p /usr/local/mongodb |
1 | mv mongodb-linux-x86_64-2.6.3 mongodb |
CentOs中配置path环境变量,确保mongodb的bin目录包含在path环境变量中。
1 | vim /etc/profile |
1 | echo $PATH |
1 | source /etc/profile |
vim /etc/rc.d/rc.local
//将mongodb启动命令手动追加到本文件中:
/usr/local/mongodb/bin/mongod —dbpath /usr/local/mongodb/data —logpath /usr/local/mongodb/log/mongodb.log —maxConns=2000 —fork —smallfiles1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 启动MongoDB
## 配置文件形式
``` bash
vim /usr/local/mongodb/mongodb.conf
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
noauth=true
journal=true
smallfiles=true
```
## 命令行形式
``` Bash
/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongodb.log --fork --smallfiles
//可选:--auth
1 | useradd mongodb -M -s /sbin/nologin |
1 | service mongod start |
将27017端口加入信任列表;局域网测试直接关闭防火墙1
2
3
4
5
6
7
8
9
10
11//关闭防火墙
service iptables stop
//开启
chkconfig iptables on
//关闭
chkconfig iptables off
//查询TCP连接情况
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
//查询端口占用情况:
netstat -anp | grep portno
//(例如:netstat –apn | grep 80)
将文件复制到CentOS后进行安装
1 |
|
1 |
|
1 | #查看系统已安装的jdk |
将文件复制到CentOS后进行安装
执行
1 | cd /tmp/jetty |
一路回车即可
将文件复制到CentOS后进行安装
1 | cd /tmp |
1 | useradd -m jetty |
1 | ln -s /usr/local/jetty/bin/jetty.sh /etc/init.d/jetty |
1 | vim /etc/default/jetty |
service jetty start
curl localhost:8080
jetty [-d] {start|stop|run|restart|check|supervise} [ CONFIGS ... ]