yum安装php5.6

yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64 yum install -y epel-release centos6 用这个wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.reporpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm centos7 用这个wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.reporpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum install –e … 继续阅读“yum安装php5.6”

搭建vpn的几种办法

方法一:搭建x-ui 服务端安装有说明:https://github.com/mlldxe/X-UI 客户端:v2ray.NG( 注: v2ray.NG去掉“.”,搜索用 v2rayN ) 安卓端:https://github.com/2dust/v2rayNG/ 方法二:搭建Shadow.socks(注:shadow.socks去掉“.”) 安装Shadow.socks服务端(参考官方Shadow.socks使用说明): yum install python-setuptools && easy_install pippip install shadow.socks 编写配置(参考Configuration via Config File): vi /etc/shadow.socks.json {   “server”:”0.0.0.0″,   “server_port”:8388,   “local_address”: “127.0.0.1”,   “local_port”:1080,    … 继续阅读“搭建vpn的几种办法”

查询外网IP的办法

Curl 纯文本格式输出: curl icanhazip.comcurl ifconfig.mecurl curlmyip.comcurl ip.appspot.comcurl ipinfo.io/ipcurl ipecho.net/plaincurl www.trackip.net/i curl JSON格式输出: curl ipinfo.io/jsoncurl ifconfig.me/all.jsoncurl www.trackip.net/ip?json (有点丑陋) curl XML格式输出: curl ifconfig.me/all.xml curl 得到所有IP细节 (挖掘机) curl ifconfig.me/all 使用 DYDNS (当你使用 DYDNS 服务时有用) curl -s ‘http://checkip.dyndns.org’ | sed ‘s/.*Current IP Address: \([0-9\.]*\).*/\1/g’curl -s http://checkip.dyndns.org/ | grep -o “[[:digit:].]\+” 使用 Wget 代替 Curl … 继续阅读“查询外网IP的办法”

Centos常用命令集

lsof(list open files)是一个列出当前系统打开文件的工具uname -a # 查看内核/操作系统/CPU信息head -n 1 /etc/issue # 查看操作系统版本cat /proc/cpuinfo # 查看CPU信息hostname # 查看计算机名lspci -tv # 列出所有PCI设备lsusb -tv # 列出所有USB设备lsmod # 列出加载的内核模块env # 查看环境变量arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/interrupts 显示中断cat /proc/meminfo 校验内存使用cat /proc/swaps 显示哪些swap被使用cat /proc/version 显示内核的版本cat /proc/net/dev 显示网络适配器及统计cat /proc/mounts 显示已加载的文件系统lsp … 继续阅读“Centos常用命令集”

一些用户无法访问网站的问题

一些用户无法访问网站的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关; 1. 现象 第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcptimestamp,而模块B开启了tcp timestamp; 第二个现象:不同主机上的模块C(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1connect成功,而主机C2 connect失败; 2. 分析 根据现象上述问题明显和tcp timestmap有关;查看linux2.6.32内核源码,发现tcp_tw_recycle/tcp_timestamps都开启的条件下,60s内同一源ip主机的socketconnect请求中的timestamp必须是递增的。 源码函数:tcp_v4_conn_request(),该函数是tcp层三次握手syn包的处理函数(服务端); 源码片段: if (tmp_opt.saw_tstamp &&am … 继续阅读“一些用户无法访问网站的问题”

nginx变量使用方法详解

Nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 Nginx配置文件其实就是一个一个的小程序。当然,是不是“图灵完全的”暂且不论,至少据我观察,它在设计上受 Perl 和 BourneShell 这两种语言的影响很大。在这一点上,相比 Apache 和 Lighttpd 等其他 Web 服务器的配置记法,不能不说算是Nginx 的一大特色了。既然是编程语言,一般也就少不了“变量”这种东西(当然,Haskell这样奇怪的函数式语言除外了)。 熟悉 Perl、Bourne Shell、C/C++等命令式编程语言的朋友肯定知道,变量说白了就是存放“值”的容器。而所谓“值”,在许多编程语言里,既可以是 3.14这样的数值,也可以是 hello world 这样的字符串,甚至可以是像数组、哈希表这样的复杂数据结构。然而,在 Nginx配置中,变量只能存放一种类型的值,因为也只存在一种类型的值,那就是字符串。 比如我们的 nginx.conf 文件中有下面这一行配置: set $a”hello world”; 我们使用了标准 ngx_rewrite 模块的 set 配置指令对变量 $a 进行了赋值操作 … 继续阅读“nginx变量使用方法详解”

centos7搭建开源个人网盘Nextcloud

yum install -y wget unzip bzip2 vim lrzsz screen yum install -y mariadb mariadb-server mariadb-develsystemctl enable mariadb.servicesystemctl daemon-reload mkdir /etc/systemd/system/mariadb.service.dcat > /etc/systemd/system/mariadb.service.d/limits.conf <<EOF[Service]LimitNOFILE=10000 EOF mkdir -p /data/database/mysqlchown mysql:mysql /data/database/mysqlsed -i “/datadir/c datadir=/data/database/mysql” /etc/my.cnfsed -i “/instructions/a long_query_time=10” /etc/my.cnfsed -i “/instructions/a slow_q … 继续阅读“centos7搭建开源个人网盘Nextcloud”