Mac port 安装 nginx php 环境

用port安装nginx
到http://www.macports.org/install.php下载macports
安装nginx:运行sudo port install nginx spawn-fcgi
安装php:运行sudo port install php53 fcgi php53-cgi php53-mysql php53-curl php53-iconv php53-mcrypt
安装imagick: 运行sudo port install php53-imagick

nginx配置
进入/opt/local/etc/nginx
创建sites-avalaible和sites-enabled文件夹
参考附件的配置文件,编辑nginx.conf, fastcgi.conf, mime.types
参考附件的配置文件在sites-available中创建www, game, bbs三个配置文件分别指向3个git代码库的根目录或webroot目录

php 配置
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
date.timezone = Asia/Shanghai
short_open_tag = On

开启自启动配置

  1. 将以下代码保存至/Library/LaunchDaemons/org.macports.nginx.plist
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
    <plist version='1.0'>
    <dict>
    <key>Label</key><string>org.macports.nginx</string>
    <key>ProgramArguments</key>
    <array>
            <string>/opt/local/bin/daemondo</string>
            <string>--label=nginx</string>
            <string>--start-cmd</string>
            <string>/opt/local/sbin/nginx</string>
            <string>;</string>
            <string>--pid=fileauto</string>
            <string>--pidfile</string>
            <string>/opt/local/var/run/nginx/nginx.pid</string>
    </array>
    <key>Debug</key><false/>
    <key>Disabled</key><true/>
    <key>KeepAlive</key><true/>
    </dict>
    </plist>
  2. 将以下代码保存至/Library/LaunchDaemons/org.macports.phpfcgi.plist
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>Label</key><string>org.macports.phpfcgi</string>
      <key>Debug</key><false />
      <key>OnDemand</key><false />
      <key>RunAtLoad</key><false />
      <key>EnvironmentVariables</key>
      <dict>
        <key>PHP_FCGI_CHILDREN</key><string>2</string>
        <key>PHP_FCGI_MAX_REQUESTS</key><string>5000</string>
      </dict>
      <key>LaunchOnlyOnce</key><true />
      <key>ProgramArguments</key>
      <array>
        <string>/opt/local/bin/spawn-fcgi</string>
        <string>-C 2</string>
        <string>-p 9000</string>
        <string>-f /opt/local/bin/php-cgi53</string>
      </array>
    </dict>
    </plist>
  3. 运行sudo launchctl load -w /Library/LaunchDaemons/org.macports.nginx.plist
  4. 运行sudo launchctl load -w /Library/LaunchDaemons/org.macports.phpfcgi.plist
  5. 运行sudo lsof -i:80和sudo lsof -i:9000检查nginx和fastcgi是否分别正常监听80和9000端口

查看 端口运行状态

shen-iMac:~ shensuoming$ sudo lsof -i:9000
COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
php-cgi53 65132 root    0u  IPv4 0xffffff8018734de0      0t0  TCP *:cslistener (LISTEN)
php-cgi53 65133 root    0u  IPv4 0xffffff8018734de0      0t0  TCP *:cslistener (LISTEN)
php-cgi53 65134 root    0u  IPv4 0xffffff8018734de0      0t0  TCP *:cslistener (LISTEN)
shen-iMac:~ shensuoming$ sudo kill 65132   #停止进程

Mac os brew Warning: /usr/bin occurs before /usr/local/bin 解决办法

在运行

brew doctor
Warning: /usr/bin occurs before /usr/local/bin
...

如果你看到这条警告信息,可以在终端运行这条命令:

echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile

写入成功后你必须重启终端,或者完全关闭终端,再打开,看看是不是解决了?

如何在 ubuntu firefox 翻墙

1.首先要安装openSSH,

Ubuntu缺省没有安装SSH Server,使用以下命令安装:

sudo apt-get install openssh-server

2.在firfox中搜索安装autoproxy这个扩展组件,安装完成之后,会自动打开一个设置页面,选择gfwlist 这个规则,然后在最下面选择默认代理,设置为ssh -D 这种方式,之后点完成,完成设置

3.本地的设置完毕之后,到http://www.cjb.net/cgi-bin/shell.cgi?action=signup 注 册一个免费的ssh的帐号,填上你的用户名, 邮箱, 设置密码就成了,邮箱最好是用gmail的邮箱,其他的邮箱我也没尝试过,然后cjb会给你发激活邮件, 收信点里边的激活链接,激活后会再发送一个邮件给你,告诉你帐号,密码,服务器之类的,有时候注册网站打不开,多尝试几次就好了

4.有了以上的准备工作后,在终端输入ssh -qTfnN -D 7070 user_name@216.194.70.6
例如我自己的就是ssh -qTfnN -D 7070 djmax2010@216.194.70.6
其中@之前的user_name换成你刚才自己的申请的用户名就好了,本来@之后是主机名shell.cjb.net的,但是据说是DNS污染,导致指向的不是正确的IP地址,所以直接用IP地址来代替
然后第一次运行会有个小提示,你直接输入yes就好了,然后提示输入密码,输入你申请的帐号的密码

5. 如果认为每次输入这个东西比较麻烦的话,建议vim sshd,建立一个sshd的文本文件,然后把刚才输入的内容粘贴到sshd文件中,并chmod 755 sshd 然后拷贝到/usr/bin目录下,以后要翻墙的时候就执行sshd,输入密码就好了,系统启动后,之需要输入一次就好了。

在linux下用ssh翻墙很简单:

打开终端,输入:

ssh -qTfnN -D 端口 user_name@host_home

其中端口号,user_name和host_home更改为你自己的ssh配置即可!

我的实例:

magic@ubmac: ~$ ssh -qTfnN -D 7070 djmax2010@216.194.70.6
djmax2010@216.194.70.6's password:
magic@ubmac:~$ 

Firefox设置:

安装扩展:AutoProxy ?

一般情况下,页面上方会出现下图提示是否允许安装,请点击“允许”。

点击立即安装,安装后,重新启动Firefox。然后你会看到如下对话框,按照下图依次进行选择,最后点击“确定”。

至此配置已全部就绪。现在你可以浏览国外网站了!

update:

如果你还是无法浏览Youtube等国外网站,可以参考如下解决方法:

在Firefox地址栏输入about:config回车,出现下图:

点击我保证会小心,在过滤器中输入network.proxy.socks_remote_dns 出现下图:

双击 默认 两个字。使其变成如下状态:

即使其值为true既可。然后在地址栏输入http://www.youtube.com试试看看是不是可以正常浏览了?

 

 

Chrome 下如何翻墙

进入chrome web store 搜索 Naive Switchy 选择扩展程序,然后添加到chrome, 并检查 工具-》扩展程序中显示已启用。

不需要设置,只需要翻墙前 执行

ssh -qTfnN -D 7070 djmax2010@216.194.70.6

输入密码,就可以翻墙上网了。

php 过滤 html 将html 标签转换成普通字符

方法如下:

    public static function unhtml($content){
        $content=htmlspecialchars($content);
        $content=str_ireplace(chr(13),"<br>",$content);
        $content=str_ireplace(chr(32)," ",$content);
        $content=str_ireplace("[_[","<",$content);
        $content=str_ireplace(")_)",">",$content);
        $content=str_ireplace("|_|"," ",$content);
        return trim($content);
    }