linux

Nginx 502 Bad Gateway 自动重启shell脚本

星期三, 八月 14th, 2013 | JAVA-and-J2EE, linux, php | 2 Comments

Nginx 502 Bad Gateway 自动重启shell脚本,启动 php 和重启nginx

新建 php文件 200_ok.php 文件(这个随便,内容也随便只要是想使用curl的访问方式)

<?php
echo "200";
?>

建立一个脚本 vi web_monitor.sh (里面还有重启tomcate 的指令,后来发现使用正常关闭shutdown 有文件后台进程相关,可以直接杀掉进程的方式 ps -ef|grep java)
内容如下:

#!/bin/bash
#author:Pomelo Lee
#website://www.pomelolee.com
CheckUrl="//www.pomelolee.com/200_ok.php"
STATUS_CODE=`curl -o /dev/null -m 10 --connect-timeout 10 -s -w %{http_code} $CheckUrl`
#echo "$CheckURL Status Code:\t$STATUS_CODE"
if [ "$STATUS_CODE" != "200" ]; then
/usr/local/webserver/php/sbin/php-fpm stop
sleep 1
/usr/local/webserver/php/sbin/php-fpm start
sleep 1
pkill -9 nginx
sleep 1
/usr/local/webserver/nginx/sbin/nginx
#sleep 1
#/usr/local/tomcat7/bin/shutdown.sh
#sleep 2
#/usr/local/tomcat7/bin/startup.sh
fi

然后是设定权限:chmod 755 /root/web_monitor.sh

运行定时程序:crontab -e

输入以下内容每隔5分钟检测一次:*/5 * * * * /root/web_monitor.sh

Tags: , ,

纠结的ln软链接

星期三, 七月 17th, 2013 | linux | 没有评论

好久没有更新博客了,太忙了,加班连续加了2个多月了,每天早9:30 到晚9:30 周六还要上班,实在是累的不行.
不抱怨了,都是为了更好的完成项目.

记录下建立软链接和删除软链接的使用,老是弄混,浪费时间

ln -s /home/king2012/upfiles/mp3/  /home/king2012/
 
rm -rf /home/king2012/mp3

此处在/home/king2012/ 下建立了一个mp3的文件夹链接到 /home/king2012/upfiles/mp3/ (真正有文件的地方)
删除软链接和删除文件夹一样即可.
注:搞不懂自己怎么老是把ln 写成ls ,估计是ls用的太多了,害我浪费了那么多时间还怀疑执行有误,原来是指令有误

Tags: , , ,

nginx从1.0升级到1.2.7的log_format问题

星期三, 二月 20th, 2013 | linux | 没有评论

今天看了nginx的升级到了1.2.7的系列了,自己的还停留在1.0.7版本有点心痒痒了,就升级了下:
不停机平滑升级新版文章参考: //www.pomelolee.com/646.html

通过./sbin/nginx -t 检查发现
[warn] the “log_format” directive may be used only on “http” 的警告信息

修复起来也方便:

把这个格式信息从server 里面移动到http的里面,有多个server 可以并到一起减少了配置(如果格式一样的话,算是新版本的一个优化了)
log_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” $http_x_forwarded_for’;

在通过./sbin/nginx -t 检查 就都ok了

Tags: , ,

libcurl升级后找不到libcurl.so.3解决之法

星期日, 二月 3rd, 2013 | linux, webgame, 游戏开发 | 没有评论

系统装的是libcurl 7.19的版本,编译的动态库是libcurl.so.4

自己的程序编译是在libcurl 7.15的版本下编译的,用的是libcurl.so.3的版本,要做下软链接即可:
根据自己使用的是32位系统或者64位系统 做如下处理:

1
2
cd /usr/lib 或者 cd /usr/lib64
ln -s libcurl.so.4 libcurl.so.3

Tags: , ,

samba找不到网络路径和无法访问的解决办法

星期六, 十二月 15th, 2012 | linux | 3 Comments

在前面一篇文章介绍了怎么搭建samba共享文件夹

具体见:linux共享文件夹给windows之samba搭建 //www.pomelolee.com/1072.html

比较郁闷的是,看到了文件夹,可是点击的时候出现了 找不到网络路径.
解决方法:
1.所设共享目录权限问题. (基本上不是这个问题)

1
    chmod 777 /data/samba/username

2.linux防火墙的问题.(主要原因,如果有selinux 这个可以降低或者关闭)

1
    rpm -qa | grep selinux

>>>>>.防火墙的关闭方法;
运行:setup 命令 使用 tab和 space选择即可
› Continue reading

Tags: , ,

linux共享文件夹给windows之samba搭建

星期六, 十二月 15th, 2012 | linux | 2 Comments

本文的环境是centos系统,为指定用户的共享,工作开发使用等

1.安装samba

1
yum install samba smbfs

2.添加要使用的帐号

1
2
useradd -s /sbin/nologin username
smbpasswd -a username

3.创建目录

1
2
3
mkdir -p /data/samba/username
# 修改权限为777,权限交给samba管理 
chmod 777 /data/samba/username

› Continue reading

Tags: , ,

webgame遭遇double free or corruption (!prev):

星期二, 十二月 4th, 2012 | linux, webgame, 游戏开发 | 没有评论

游戏在内测的时候遭遇到double free or corruption (!prev):
单从上面的理解很简单就是说 有地方调了2次 free();的内存释放函数.
查了下,这种低级错误的可能性不大,但是游戏的环境是在 一个多线程的代码,在主线程中申请了一块内存,在另一个线程中释放内存,估计是这个原因.

*** glibc detected *** /home/sara/webgame/t1: double free or corruption (!prev): 0x090634c8 ***
======= Backtrace: =========
/lib/libc.so.6[0x7c7261]
/home/sara/webgame/t1[0x804891e]
/home/sara/webgame/t1[0x9804fb0]
/lib/libpthread.so.0[0x8dcab5]
/lib/libc.so.6(clone+0x5e)[0x83383e]
00759000-008c7000 r-xp 00000000 fd:00 158979 /lib/libc-2.11.so
008c7000-008c8000 —p 0016e000 fd:00 158979 /lib/libc-2.11.so
008c8000-008ca000 r–p 0016e000 fd:00 158979 /lib/libc-2.11.so
008ca000-008cb000 rw-p 00170000 fd:00 158979 /lib/libc-2.11.so

进过排查和结合网上的遇到的说明修正如下函数:(另:可以在你做free()的统一函数地方做赋值指针为null做检测)
› Continue reading

Tags: , ,

PHP语法容易忽略的问题小结

星期四, 十一月 1st, 2012 | linux, php | 没有评论

之前收藏的一个php常见的问题小结,挺不错的,在此摘录下.

1.PHP变量区分大小写,定义的函数、类名以及系统内置的函数和关键字不区分大写。

2.PHP结束标记“?>”前的那条语句的分号可省略,但不推荐。

3.注释:

      <? echo $a; #print $a ?><h1>something</h1>
     遇到php结束符号则#注释自动终结
 
     类似的:/*注释也是遇到php结束符号则注释自动终结
 
   上面的语法合法,但不推荐使用。
 
     /*ddddddd /*ffffff */  dddd */ 
    这样的注释嵌套导致出错,因为PHP视图执行“ffffff”。

4.类名stdClass被保留

5.define函数定义常量,常量引用时不加$

6.函数名和关键字不区分大小写

7.浮点数的值仅仅是数的近似表示,尽量避免假定浮点数是完全精确的,利用“==”比较浮点数时,通常将其移动若干位小数位置后比较。

     if( int($a * 1000) == int($b * 1000)).....//后移三位小数点并转换为整形后比较

8.

     $path='c:\\windows';echo  $path;打印:"c:\\windows"

9.资源(或称为句柄)实际上是整数,使用资源的好处是它会自动完成内存的管理,但最后一个对资源的引用销毁时,常见该资源的扩展被调用来为该资源释放所有内存,关闭所有连接等。函数中容易发现自动清空资源的好处,将资源指派给一个局部变量,当函数调用结束时,变量的值自动被php回收。例如:

             function   func1(){
 
                   $res = database_connect();database_query($res);
 
                   //退出函数时连接自动关闭
 
             }

尽管可用上面的方法,还是推荐显式的销毁资源。

10.可变变量(即变量的变量)

        $foo = 'abc';
        $$foo = 'xyz';//$abc的值 "xyz"

11.php中的变量引用:就是如何创建变量的别名。(用C中的指针理解要容易些)

         $a = & $b;    //$a和$b正向相同的内存区域。其一改变另一也改变,销毁其一不影响另一。
 
        函数利用引用可以传递参数(避免赋值大的字符串或数组)。例如:
 
       function  &ret_ref(){
                $var="php";//$var是大树组或者的字符串时效率比较高
                return $var;
       }
       $v = & ret_ref();

12.php中的局部变量只存在与函数中,循环、分支和块中的变量不是局部变量。函数为定义的变量为全局变量,函数内要访问全局变量必须声明为global,然后再使用(也可以使用笨方法,就是全局数组$GLOBALS)。

13.php使用“引用计数”和“写时复制”技术。

› Continue reading

Tags: ,

常用常用正则表达式集锦

星期一, 十月 29th, 2012 | JAVA-and-J2EE, linux, php | 没有评论

此处记录下,以后方便查找.

1.匹配中文字符

[\u4e00-\u9fa5]

2.匹配双字节字符(包括汉字)

[^\x00-\xff]

3.匹配空白行

\n\s*\r

4.匹配E-mail地址

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

5.匹配网站URL地址

[a-zA-z]+://[^\s]*

6.匹配国内电话号码

\d{3}-\d{8}|\d{4}-\d{7}

7.匹配腾讯QQ号码

[1-9][0-9]{4,}

› Continue reading

Tags: , , , ,

教你怎样上twitter,facebook等—ssh代理设置教程(vforchrome版本)

星期五, 十月 5th, 2012 | computer, linux | 3 Comments

1.下载浏览器,地址:

vforchrome官方下载:https://vforchrome.googlecode.com/files/vforchrome0.13.7z

本地备用下载:vforchrome0.13.7z

2.解压,打开chrome.exe,然后点击右上角设置

然后添加,输入主机地址,端口,用户密码,如下图

添加帐号

设置完成! 你可以上http://www.youtube.com/ https://twitter.com/ https://www.facebook.com/ 啦

需要ssh帐号的可以给我留言哦.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Tags: , , , ,

Search

文章分类

Links

Meta