sudo apt-get install tasksel
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
开启自启动配置
- 将以下代码保存至/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>
- 将以下代码保存至/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>
- 运行sudo launchctl load -w /Library/LaunchDaemons/org.macports.nginx.plist
- 运行sudo launchctl load -w /Library/LaunchDaemons/org.macports.phpfcgi.plist
- 运行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
写入成功后你必须重启终端,或者完全关闭终端,再打开,看看是不是解决了?
SSH 服务查看和手动关闭,开启
$ ps -e | grep ssh #检查没有自动启动 1604 ? 00:00:00 ssh-agent
如果希望手动启动,可以
sudo service ssh start #手动启动服务 sudo service ssh stop #手动停止服务 sudo service ssh status #查看服务状态
如何在 ubuntu firefox 翻墙
1.首先要安装openSSH,
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); }
ubuntu git 可视化工具
Mysql GROUP_CONCAT 将数组某个字段连接起来
SELECT rec_id,GROUP_CONCAT(user_id) FROM t1 GROUP BY rec_id
error: using group_concat in PHPMYADMIN will show the result as [BLOB – 3B]
can use:
SELECT rec_id,GROUP_CONCAT(CONVERT(user_id, CHAR(8))) FROM t1 GROUP BY rec_id
让git忽略掉文件权限检查:
old mode 100755 new mode 100644
让git忽略掉文件权限检查:
git config --add core.filemode false