Press "Enter" to skip to content

标签: 服务器

FreeBSD 升级PHP版本

使用到的命令
pkg update 更新下软件库的信息,这样可以知道软件库中个套件的最新版本。
pkg upgrade 是升级你安装的套件
pkg info 显示软件包信息

第一步升级PHP版本

root@kiccleaf:~ # php -v  #查看升级前PHP版本
PHP 7.1.4 (cli) (built: Nov 25 2017 01:17:11) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.4, Copyright (c) 1999-2017, by Zend Technologies

root@kiccleaf:~ # pkg upgrade php71
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 2 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
	php71: 7.1.4 -> 7.1.12
	pcre: 8.37_4 -> 8.40_1

The process will require 84 KiB more space.
3 MiB to be downloaded.

Proceed with this action? [y/N]: y   #同意更新
Fetching php71-7.1.12.txz: 100%    2 MiB 103.2kB/s    00:21    
Fetching pcre-8.40_1.txz: 100%    1 MiB 165.7kB/s    00:07    
Checking integrity... done (0 conflicting)
[1/2] Upgrading pcre from 8.37_4 to 8.40_1...
[1/2] Extracting pcre-8.40_1: 100%
[2/2] Upgrading php71 from 7.1.4 to 7.1.12...
You may need to manually remove /usr/local/etc/php-fpm.d/www.conf if it is no longer needed.
[2/2] Extracting php71-7.1.12: 100%
root@kiccleaf:~ # php -v  #查看升级后版本
PHP 7.1.12 (cli) (built: Nov 25 2017 01:17:11) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.4, Copyright (c) 1999-2017, by Zend Technologies

第二步升级下PHP扩展

pkg upgrade -y php71-ctype php71-dom php71-filter php71-hash php71-iconv php71-json php71-mysqli php71-opcache php71-pdo php71-pdo_mysql php71-pdo_sqlite php71-phar php71-posix php71-session php71-simplexml php71-sqlite3 php71-tokenizer php71-xml php71-xmlreader php71-xmlwriter

Comments closed

FreeBSD下更改csh为bash后root无法登录解决办法

FreeBSD下为了判断一个进程是否存在,执行了chsh -s /bin/bash命令,不巧的是刚好断线,于是再次链接时没办法su root进去管理权限了。可悲的事情,只好请机房来帮忙操作。

chsh -s /bin/bash

查看/etc/passwd内容时发现

root:*:0:0:Charlie &:/root:/bin/bash
这一句被改了
原来是
root:*:0:0:Charlie &:/root:/bin/csh

利用cat命令查看/etc/passwd

kiccleaf# cat /etc/passwd
# $FreeBSD: src/etc/master.passwd,v 1.40.22.2.2.1 2012/03/03 06:15:13 kensmith Exp $
#
root:*:0:0:Charlie &:/root:/bin/bash

原来的内容是:

kiccleaf# cat /etc/passwd
# $FreeBSD: src/etc/master.passwd,v 1.40.22.2.2.1 2012/03/03 06:15:13 kensmith Exp $
#
root:*:0:0:Charlie &:/root:/bin/csh

结果FreeBSD的/bin/目录下并没有bash这个命令存在,于是登录时错误提示:

login:/bin/bash:No such file or directory

把root的shell改成了bash,而导致进不去系统了,可以通过以下几种方式解决:

系统启动时,选择“4”,进入“单用户”模式,输入“boot -s”进入单用户的提示符“#”,依次键入如下命令:

  fsck -p
  mount -u /
  mount -a -t ufs
  swapon -a
  chsh -s /bin/csh

然后就重启系统吧,这样就可以重新登录root管理帐号了。

Leave a Comment

Nginx HTTP Post Method: 405 Method not allowed解决方法

最近维护一台RedHat 5.4 X64系统,环境是Nginx,跑着一个论坛,需要向HTML页面提交POST数据,结果都被拦截下来了,显示错误:“nginx 405 Not Allowed”,是乎没有很好的解决办法,唯一能做的就是重新编译Nginx源码和编辑conf文件。
需要修改Nginx中的C源码文件位于 /nginx源码目录/src/http/modules/ngx_http_static_module.c ,找到如下代码:

    if (r->method == NGX_HTTP_POST) {
        return NGX_HTTP_NOT_ALLOWED;
    }


注释掉如下:

/*if (r->method == NGX_HTTP_POST) {
        return NGX_HTTP_NOT_ALLOWED;
    }
*/


然后再重新编译 make
复制/nginx源码目录/ objs 目录下的 nginx至安装的Nginx目录下,重启Nginx生效。

对于Nginx,可以修改nginc.conf配置文件,改变“405错误”为“200 ok”,并配置location来解决,方法如下:

server
{
    listen       80;
    server_name  www.kiccleaf.com;
    index index.html index.htm index.php;
    root  /data/kiccleaf;  

    if ($host != 'www.kiccleaf.com' ) {
         rewrite ^/(.*)$ http://www.kiccleaf.com/$1 permanent;
    }
    location ~ .*\.(php|php5)?$
    {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }
    #添加以下405代码
    error_page   405 =200 @405;
    location @405
    {
        root  /data/kiccleaf;
    }
}


也可以简单的编写成

server
{
    listen       80;
    server_name  www.kiccleaf.com;
    index index.html index.htm index.php;
    root  /data/kiccleaf;  

    if ($host != 'www.kiccleaf.com' ) {
         rewrite ^/(.*)$ http://www.kiccleaf.com/$1 permanent;
    }
    location ~ .*\.(php|php5)?$
    {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }
    #添加以下405代码
    error_page 405 =200 $uri;
}
Leave a Comment

配置Nginx多核CPU,worker_cpu_affinity方法

由于现今服务器的CPU基本是四核或是八核以上,Nginx默认是没有开启利用多核CPU,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核CPU。实现高性能处理数据和利用CPU资源

1. 2核CPU,开启2个进程

worker_processes     2;
worker_cpu_affinity 01 10;

01表示启用第一个CPU内核,10表示启用第二个CPU内核
worker_cpu_affinity 01 10;表示开启两个进程,第一个进程对应着第一个CPU内核,第二个进程对应着第二个CPU内核。
2. 2核CPU,开启4个进程

worker_processes     4;
worker_cpu_affinity 01 10 01 10;

开启了四个进程,它们分别对应着开启2个CPU内核

3. 4核CPU,开户4个进程

worker_processes     4;
worker_cpu_affinity 0001 0010 0100 1000;

0001表示启用第一个CPU内核,0010表示启用第二个CPU内核,依此类推

4. 4核CPU,开启2个进程

worker_processes     2;
worker_cpu_affinity 0101 1010;

0101表示开启第一个和第三个内核,1010表示开启第二个和第四个内核

2个进程对应着四个内核

worker_cpu_affinity配置是写在/etc/nginx/nginx.conf里面的。

2核是 01,四核是0001,8核是00000001,有多少个核,就有几位数,1表示该内核开启,0表示该内核关闭。

5. 8核CPU,开户8个进程

worker_processes     8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

0001表示启用第一个CPU内核,0010表示启用第二个CPU内核,依此类推

worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。

配置完毕后,重启nginx ,执行/etc/init.d/nginx restart 或是安装目录下:/nginx/sbin/nginx -s reload 重新加载

输入:top 命令后按 1 进行查看

Leave a Comment

TF31003: 您尚未输入必需的凭据,或您的用户帐户没有连接到 的 Team Foundation Server 的权限

错误提示:

TF31003: 您尚未输入必需的凭据,或您的用户帐户没有连接到 的 Team Foundation Server 的权限。
单击下面的“使用其他凭据”链接,或要求服务器管理员为您的帐户添加适当的权限。

TF31003: Your user account does not have permsision to connect to the team foundation server xxx. Contact your team foundation server administrator and request that the appropriate permission to be added to your account

解决方案:

我的情况是因为Windows7 或是window2008 无法访问Windows 2003共享的问题造成,所以解决方法为

首先确认一下控制面板-系统和安全-windows防火墙-允许的程序里打开了“文件和打印机共享”

开始=>运行–>管理工具—>本地计算机策略=>计算机配置=>Windows设置=>安全设置=>本地策略=>安全选项。找到:“网络安全:LAN管理器身份验证级别”项,默认值“没有定义”改为“发送LM & NTLM响应”

Leave a Comment

windows2008防火墙限制指定IP不能访问

只要服务器对公网,就有被攻击的可能。如果发现一些指定的IP绑定80端口进行攻击,那么我们可以配置windows2008自带的防火墙进行过滤,还别说,效果还真不假的。简单八步完成限制指定IP过滤。
实例:
从前一天开始两波的攻击流量上来看,占用了100M的带宽,配置了过滤指定的IP后,流量图最后面显示马上就下去了。如图所示:

系统进程可以看到网卡流量正常了,如图所示:

防火墙具体配置八个步骤完成。

第一步:点击“新建规则”

第二步:选择“自定义”

第三步:不用选择,默认“所有程序”

第四步:默认,下一步

第五步:自定义应用中添加指定的IP(需要过滤的IP)

第六步:选择“阻止链接”,下一步

第七步:选择需要生效的域,一般默认就好

第八步:填写规则名称及注释,完成生效配置

Leave a Comment

通过BAT实现统计Win2008下链接数的数据

最近访问服务器量有所增加,为排除一些功能行为,所以需要定时执行BAT进行数据统计。那么我的解决方案如下:
1.编写BAT文件实现自动创建目录和定时创建一个统计文本文件
2.配置windows2008计划任务并实现

第一步:
首先编写一个mkdirdate.bat文件进行每天凌晨00:00:00分执行创建一个目录,代码如下:

@echo off
set dat=%date:~0,4%%date:~5,2%%date:~8,2%
md %dat%

第二步:
由于时间的格式问题,如果是早上9点以前则取一位,如果是10点以后则取两位
这里的leq是判断是否时间小于9,而geq则是是否大于10
统计IP至当前时间的文本文件中
%time:~0,2% 这个是取系统时间的前两位
首先编写一个BAT脚本文件,本文以“ipcount.bat”为名称源码如下:


@echo off
set dat=%date:~0,4%%date:~5,2%%date:~8,2%
set tm=%time:~0,2%
if %tm% leq 9 set time0=%time:~1,1%%time:~3,2%%time:~6,2%%time:~9,2%
if %tm% geq 10 set time0=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
set dttm=%dat%%time0%

netstat -an >%dat%\IP%dttm%.txt

第三步:
统计服务器总链接数及其他的一些信息,创建文件“datacount.bat”代码如下:

@echo off
set dat=%date:~0,4%%date:~5,2%%date:~8,2%
set tm=%time:~0,2%
if %tm% leq 9 set time0=%time:~1,1%%time:~3,2%%time:~6,2%%time:~9,2%
if %tm% geq 10 set time0=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%

set dttm=%dat%%time0%

netstat -es >%dat%\Count%dttm%.txt

好了三个文件我们都已经创建好,接下去我们再讲一下配置计划任务时要注意的是分以下两步
第一步:

mkdirdate.bat 文件单独创建一个计划任务在每天00:00:00执行,每天执行一次就可以了。

第二步:
datacount.bat
ipcount.bat
两个文件添加到同一个计划任务里,并配置好每天重复执行,我这里配置是每分钟执行一次统计,每次会自动生成两个不同时间的文本文件,至于时间可以自己调整如果访问不高,可以5分钟统计一次,或是半小时,一小时都可以。

根据统计的文本,然后进行分析,流量大小,或是哪些IP比较可疑,如果有IP链接多达100以上的基本可以确定是属于非正常访问,当然就情况不同而决定
关于非法的IP链接数怎么进行过滤,我会在另一篇防火墙过滤指定IP的文章中进行说明。

看一下BAT任务执行后的效果图:

Leave a Comment

win2008 计划任务配置(任务计划程序)每分钟执行BAT

很多人在问我:
1、windows2008计划任务配置每分钟执行能配置吗?
2、windows2008计划任务在哪里配置?
3、windows2008可以配置每分钟或是每小时执行我的任务吗?

答案是:可以!
首先win2008不同于其他服务器操作系统和win2003有着很大的区别,计划任务的名称是“任务计划程序”不在控制面板里,而是在“管理工具”里。
由于服务器需要做些任务,定时执行,自己写程序吧,麻烦,所以采用BAT进行代替操作,网络上很多人都在说每分钟执行怎么配置,今天我们就配置一下。
打开“任务计划程序”–点击“任务计划程序库”在右则会看到操作项里有“创建基本任务”和“创建任务”如图所示:

点击“创建任务”后如图所示:填写好相应的名称和勾选好必要的条件

选择“触发器”选项,点击“新建”,创建任务执行时间,“重复任务间隔”这个选择后,后面有时间选择,是每小时,还是每分,可自己选择后再修改时间,再确定。

再来配置需要执行的“操作”,就是选择所写的程序或是BAT文件,这里很重要的配置是选择BAT文件后,在“起始于(可选)”这里一定要填写相应执行程序或是BAT文件的所在目录,要不然是执行不成功的。

添加后,列表栏中会出现添加的计划任务。

Leave a Comment

FreeBSD8.2系统安装视频[原创]

FreeBSD系统最小化安装其实几分钟就搞定了,以最快速的速度操作的话,我估计两分钟就可以安装完成。首先这里放上最小安装的视频,以后慢慢把系统的配置视频放上来。
[wposflv src=”http://www.kiccleaf.com/flv/FreeBSD8.2.flv” height=”400″ width=”600″]

Leave a Comment

Nginx目录自动加斜线”/”

服务器配置成Nginx后,发现子目录结尾不加“/”会造成无法访问。这是大多数人从Apache转至nginx的问题。

如:http://www.kiccleaf.com/test 就无法正常访问,而http://www.kiccleaf.com/test/ 却可以正常访问。

解决方法在nginx.conf中增加:
找到http{ 然后在里面添加

http{
…
server_name_in_redirect off;
…
}
Leave a Comment