<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>days of linnchord &#187; Mysql</title>
	<atom:link href="http://linnchord.net/archives/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://linnchord.net</link>
	<description>南台静坐 : : :</description>
	<lastBuildDate>Thu, 03 Nov 2011 02:22:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Setup on Linode.com with ubuntu+nginx+php+fastcgi+mysql 续</title>
		<link>http://linnchord.net/archives/665.html</link>
		<comments>http://linnchord.net/archives/665.html#comments</comments>
		<pubDate>Sun, 29 Nov 2009 08:54:00 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=665</guid>
		<description><![CDATA[嗯嗯，继续。 nginx和fastcgi启动配置 2个配置文件,放于/etc/init.d下面。 cd /etc/init.d touch fast-cgi touch nginx sudo chmod +x /etc/init.d/nginx /etc/init.d/fast-cgi nginx #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### [...]]]></description>
			<content:encoded><![CDATA[<p>嗯嗯，继续。</p>
<ul>
<li>
	<strong>nginx和fastcgi启动配置</strong></p>
<p>2个配置文件,放于/etc/init.d下面。</p>
<pre class="brush: bash;">
cd /etc/init.d
touch fast-cgi
touch nginx
sudo chmod +x /etc/init.d/nginx /etc/init.d/fast-cgi</pre>
<p>nginx</p>
<pre class="brush: bash;">
#! /bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/nginx/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
	. /etc/default/nginx
fi

set -e

. /lib/lsb/init-functions

test_nginx_config() {
  if nginx -t
  then
    return 0
  else
    return $?
  fi
}

case "$1" in
  start)
	echo -n "Starting $DESC: "
        test_nginx_config
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
		--exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
		--exec $DAEMON || true
	echo "$NAME."
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --pidfile \
		/var/run/$NAME.pid --exec $DAEMON || true
	sleep 1
        test_nginx_config
	start-stop-daemon --start --quiet --pidfile \
		/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  reload)
        echo -n "Reloading $DESC configuration: "
        test_nginx_config
        start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
            --exec $DAEMON || true
        echo "$NAME."
        ;;
  configtest)
        echo -n "Testing $DESC configuration: "
        if test_nginx_config
        then
          echo "$NAME."
        else
          exit $?
        fi
        ;;
  status)
	status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx &#038;&#038; exit 0 || exit $?
	;;
  *)
	echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&#038;2
	exit 1
	;;
esac

exit 0</pre>
<p><span id="more-665"></span></p>
<p>fast-cgi</p>
<pre class="brush: bash;">
#! /bin/sh

### BEGIN INIT INFO
# Provides:          fast-cgi
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the fast-cgi web server
# Description:       starts fastcgi using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME=spawn-fcgi
DESC=spawn-fcgi
DAEMON=/usr/local/bin/spawn-fcgi

DAEMON_OPTS="-u www-data -g www-data -C 8 -a 127.0.0.1 -p 9000 -P /var/run/$NAME.pid -- /usr/bin/php5-cgi"

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
	echo -n "Starting $DESC: "
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
	echo "$NAME."
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
	sleep 1
	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
	echo "$NAME."
	;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON || true
      echo "$NAME."
      ;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|reload|force-reload}" >&#038;2
	exit 1
	;;
esac
exit 0</pre>
<p>这两个脚本需要注意的是目录的定位，如果在编译阶段加入了目录设置的参数，那么你同时需要在这里修改定义。另外fast-cgi需要注意DAEMON_OPTS的参数设置。</p>
<p>这2个脚本都有一个同样的问题，就是无法正常停止服务。我虽然不太了解shell程序，但是根据我其他编程经验，两个脚本都是通过start-stop-daemon命令来开启和停止服务。但我使用的情况是可以正常开启，但无法正常关闭。所以我不得不写了一个简单的关闭并重启nginx服务的脚本，是通过直接kill进程来实现的。</p>
<pre class="brush: bash;">
cd ~
mkdir tools
cd tools
touch reset_nginx
chmod +x reset_nginx</pre>
<p>reset_nginx内容</p>
<pre class="brush: bash;">
sudo kill `cat /usr/local/nginx/logs/nginx.pid`
sudo /etc/init.d/nginx start</pre>
<p>但是fast-cgi的服务即使我kill进程并删除pid文件也无济于事，fast-cgi仍然照常运行……这有点不合逻辑，也许我操作错误，或者是权限问题。不过fast-cgi开启后一般也没有必要进行重启或其他操作，这个问题留待以后解决吧。或者有哪位同学知道的，请不吝赐教！</p>
<p>最后这2个脚本需要注册为系统服务，需要安装rcconf。</p>
<pre class="brush: bash;">
sudo apt-get install rcconf
sudo rcconf</pre>
<p>嗯，很怀旧的DOS操作界面……呵呵，大家选择2个脚本，再ok退出即可。</p>
</li>
<li>
	<strong>nginx站点配置</strong></p>
<p>由于dreamhost的习惯，并且这个虚拟机还要放callaly的blog（<a href="http://callaly.net" target="_blank">http://callaly.net</a>），所以nginx的站点我放到用户目录下去了。</p>
<pre class="brush: bash;">
cd ~
mkdir wwwroot
cd wwwroot
mkdir yourdomain.com</pre>
<p>编辑/usr/local/nginx/conf/nginx.conf</p>
<pre class="brush: bash;">
user www-data;
worker_processes 2;

events {
	worker_connections  1024;
	use epoll;
}

http {
	include       mime.types;
	default_type  application/octet-stream;

	sendfile       on;
	tcp_nopush     on;
	tcp_nodelay    on;

	keepalive_timeout  65;

	gzip  on;

	#设置默认站点，禁止所有IP访问
	server {
		listen 80 default;
		return 403;
	}

	#包含其他站点配置
	include /usr/local/nginx/sites-enabled/*;

}</pre>
<p>创建站点文件</p>
<pre class="brush: bash;">
cd /usr/local/nginx
sudo mkdir sites-available
sudo mkdir sites-enabled
sudo touch sites-available/yourdomain.com
sudo ln -s sites-available/yourdomain.com sites-enabled/yourdomain.com
	</pre>
<p>编辑sites-available/yourdomain.com</p>
<pre class="brush: bash;">
server {
	listen       80;
	server_name  www.yourdomain.com yourdomain.com;

	access_log	/home/myname/wwwroot/log/yourdomain.com.access.log;
   	error_log	/home/myname/wwwroot/log/yourdomain.com.error.log;

	location / {
		root   /home/myname/wwwroot/yourdomain.com;
		index  index.html index.htm index.php;

		# WordPress URL优化
		if (-f $request_filename) {
			break;
		}
		if (-d $request_filename) {
			break;
		}

		# WordPress URL重写，如果你的wp目录不在根目录，请修改路径
		rewrite ^(.+)$ /index.php?q=$1 last;
	}

	location ~ \.php$ {
		fastcgi_pass	127.0.0.1:9000;
		fastcgi_index	index.php;
		fastcgi_param	SCRIPT_FILENAME /home/myname/wwwroot/yourdomain.com$fastcgi_script_name;
		include		/usr/local/nginx/conf/fastcgi_params;
	}

	#如果前面编译nginx时添加了with-http_stub_status_module参数
	#就可以通过此设置访问yourdomain.com/status（名称自定）查看站点状态
	location /status {
		stub_status on;
		access_log off;
	}
}</pre>
<p>nginx的站点配置基本ok</p>
</li>
<li>
	<strong>wordpress备份和恢复</strong></p>
<p>
		需要把dreamhost主机上的内容迁移过来，可操作方法很多，最好在服务器端直接操作，速度更快。文件操作很简单不赘述，关于数据库的备份和恢复简单说下。
	</p>
<pre class="brush: bash;">
#导出 - 在原服务器
mysqldump -h old_host -p old_dbname -u old_dbuser >wp_bak.sql

#登录mysql
mysql -h new_host -u new_dbuser

#创建新数据库，注意编码
create database 'new_dbname' default character set utf8 collate utf8_general_ci;

#导入 - 确保备份sql文件在当前目录
use new_dbname;
source wp_bak.sql;</pre>
<p>至此整个站点配置已经基本完成，可以敲域名访问了。</p>
</li>
</ul>
<p>这篇文章大部分内容来自于网上，我东拼西凑来的，特在此列出供大家参考。</p>
<ul class="recommend">
<li><a href="http://www.mensk.com/webmaster-toolbox/perfect-ubuntu-hardy-nginx-mysql5-php5-wordpress/" target="_blank">Perfect Setup: Ubuntu Hardy+Nginx+MySQL5+PHP5+Wordress</a></li>
<li><a href="http://www.jifuyi.com/linode-vps-register-nginx-wordpress-setting/" target="_blank">Linode VPS的申请和设置及基于Nginx的WordPress详细配置</a></li>
<li><a href="http://www.nginx.com.cn/?p=315" target="_blank">为nginx设置默认虚拟主机（空主机头，默认主机头）</a></li>
<li><a href="http://www.7yan.com.cn/2008/01/22/dreamhost-mysql-beifen-huifu/" target="_blank">如何备份/恢复dreamhost空间里的mysql数据库</a></li>
<li><a href="http://www.jefflei.com/post/1015.html" target="_blank">nginx重定向规则详细介绍</a></li>
<li><a href="http://shiningray.cn/nginx-de-wordpress-pei-zhi.html" target="_blank">Nginx的WordPress配置</a></li>
<li><a href="http://wiki.nginx.org/NginxChsInstallOptions" target="_blank">NginxChsInstallOptions</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/665.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MAC下通过Port安装MYSQL</title>
		<link>http://linnchord.net/archives/418.html</link>
		<comments>http://linnchord.net/archives/418.html#comments</comments>
		<pubDate>Thu, 07 May 2009 07:58:07 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mysql]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=418</guid>
		<description><![CDATA[sudo port install mysql5 +server sudo mysql_install_db5 &#8211;user=mysql sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist 注：经实践，使用port安装软件会产生某些奇怪的问题，例如rails某些gem无法识别，软件版本冲突等等，建议慎用……]]></description>
			<content:encoded><![CDATA[<div class="quote">
sudo port install mysql5 +server<br />
sudo mysql_install_db5 &#8211;user=mysql<br />
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
</div>
<p>注：经实践，使用port安装软件会产生某些奇怪的问题，例如rails某些gem无法识别，软件版本冲突等等，建议慎用……</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/418.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

