<?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; ubuntu</title>
	<atom:link href="http://linnchord.net/archives/tag/ubuntu/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>PIL 1.1.7 install on ubuntu</title>
		<link>http://linnchord.net/archives/815.html</link>
		<comments>http://linnchord.net/archives/815.html#comments</comments>
		<pubDate>Mon, 29 Aug 2011 14:51:49 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[PIL]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.me/?p=815</guid>
		<description><![CDATA[PIL虽然可以通过pip安装，但是不好用，各种调用需要的依赖都没有，需要手动安装。 过程如下 #清除系统上现有库 python版本自行替换 sudo rm -rf /usr/lib/python2.7/site-packages/PIL sudo rm /usr/lib/python2.7/site-packages/PIL.pth #安装依赖包 sudo apt-get install libjpeg8 libjpeg8-dev libfreetype6 libfreetype6-dev liblcms1-dev #下载 wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar -zxvf Imaging-1.1.7.tar.gz cd Imaging-1.1.7/ python setup.py build_ext -i sudo python setup.py install #安装后如果发现安装的包没有正确支持可进行如下操作 sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/ sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/ sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/]]></description>
			<content:encoded><![CDATA[<p>PIL虽然可以通过pip安装，但是不好用，各种调用需要的依赖都没有，需要手动安装。</p>
<p>过程如下</p>
<pre class="brush:shell">
#清除系统上现有库 python版本自行替换
sudo rm -rf /usr/lib/python2.7/site-packages/PIL
sudo rm /usr/lib/python2.7/site-packages/PIL.pth

#安装依赖包
sudo apt-get install libjpeg8 libjpeg8-dev libfreetype6 libfreetype6-dev liblcms1-dev

#下载
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
tar -zxvf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7/
python setup.py build_ext -i
sudo python setup.py install

#安装后如果发现安装的包没有正确支持可进行如下操作
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/815.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>postfix with smtp auth on Ubuntu 11.04</title>
		<link>http://linnchord.net/archives/790.html</link>
		<comments>http://linnchord.net/archives/790.html#comments</comments>
		<pubDate>Thu, 18 Aug 2011 16:10:51 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[sasl]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.me/?p=790</guid>
		<description><![CDATA[公司网站注册需要向用户发送邮件，原有的QQ企业邮箱自然不能用来搞这个了，迫不得已自己来配置邮件服务器。网上有很多文章，到处查找搞了一晚上，现在来记录一下……估计过两天换主机还用得着……悲剧…… sudo -i #切到root方便点吧 apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules db4.6-util procmail dpkg-reconfigure postfix 需要配置一大批，注意凡是需要填写host什么的都只填写主域domain.com，不必填邮件服务器2级前缀。 sudo apt-get install bsd-mail #很多网上文章写的mailx，不好用了 设置Maildir vim /etc/postfix/main.cf 添加 home_mailbox = Maildir/ 给系统需要收发邮件的用户创建Maildir目录 cd /home/{{user}} #{{user}}替换为用户名 maildirmake Maildir chown -R {{user}} Maildir 安装pop和imap sudo apt-get install courier-pop sudo apt-get install courier-imap 添加SMTP认证 vim /etc/postfix/main.cf 添加 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, [...]]]></description>
			<content:encoded><![CDATA[<p>公司网站注册需要向用户发送邮件，原有的QQ企业邮箱自然不能用来搞这个了，迫不得已自己来配置邮件服务器。网上有很多文章，到处查找搞了一晚上，现在来记录一下……估计过两天换主机还用得着……悲剧……</p>
<pre class="brush:bash">
sudo -i #切到root方便点吧
apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules db4.6-util procmail
dpkg-reconfigure postfix
</pre>
<p>需要配置一大批，注意凡是需要填写host什么的都只填写主域domain.com，不必填邮件服务器2级前缀。</p>
<pre class="brush:bash">
sudo apt-get install bsd-mail #很多网上文章写的mailx，不好用了
</pre>
<p>设置Maildir</p>
<pre class="brush:bash">
vim /etc/postfix/main.cf
</pre>
<p>添加</p>
<pre class="brush:bash">
home_mailbox = Maildir/
</pre>
<p>给系统需要收发邮件的用户创建Maildir目录</p>
<pre class="brush:bash">
cd /home/{{user}}  #{{user}}替换为用户名
maildirmake Maildir
chown -R {{user}} Maildir
</pre>
<p>安装pop和imap</p>
<pre class="brush:bash">
sudo apt-get install courier-pop
sudo apt-get install courier-imap
</pre>
<p>添加SMTP认证</p>
<pre class="brush:bash">
vim /etc/postfix/main.cf
</pre>
<p>添加</p>
<pre class="brush:bash">
smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_invalid_hostname,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_non_fqdn_hostname,

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
</pre>
<p>修改</p>
<pre class="brush:bash">
vim /etc/default/saslauthd
</pre>
<p>添加</p>
<pre class="brush:bash">
START=yes
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR} -r"
PIDFILE="${PWDIR}/saslauthd.pid"
MECHANISMS="pam"
OPTIONS="-c -m ${PWDIR}"
</pre>
<p>然后运行</p>
<pre class="brush:bash">
mkdir -p /var/spool/postfix/var/run/saslauthd
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf
</pre>
<p>最后重启</p>
<pre class="brush:bash">
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
</pre>
<p>最后测试出现如下错误</p>
<pre class="brush:bash">
authentication failed: generic failure
</pre>
<p>在日志(/var/log/mail.log)中可以看见错误信息</p>
<pre class="brush:bash">
SASL authentication failure: cannot connect to saslauthd server: Permission denied
SASL authentication failure: Password verification failed
SASL PLAIN authentication failed: generic failure
</pre>
<p>经历了一个漫长刺激痛苦的google旅程，最后解决方案如下</p>
<p>最后发现是saslauthd运行时目录权限问题</p>
<pre class="brush:bash">
dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
adduser postfix sasl
</pre>
<p>重启</p>
<pre class="brush:bash">
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
</pre>
<p>OK 搞定</p>
<p>参考文章：</p>
<ul>
<li><a href="http://wiki.ubuntu.org.cn/PostfixBasicSetupHowto" target="_blank">http://wiki.ubuntu.org.cn/PostfixBasicSetupHowto</a></li>
<li><a href="http://rashost.com/blog/postfix-smtp-auth" target="_blank">http://rashost.com/blog/postfix-smtp-auth</a></li>
</ul>
<p><br/></p>
<p>后记：2011-08-25</p>
<ul>
<li>如果新增加用户，imap不能即时生效，必须重启。</li>
<li>另外要注意用户/home下的用户目录权限，必须是username.username，我曾在添加用户时用了其他的group，结果失败，会报错-uid -gid不对。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/790.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux(ubuntu)软件安装实践</title>
		<link>http://linnchord.net/archives/740.html</link>
		<comments>http://linnchord.net/archives/740.html#comments</comments>
		<pubDate>Tue, 15 Jun 2010 13:43:22 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=740</guid>
		<description><![CDATA[准备在ubuntu上搞搞java，整个环境还是不太习惯，以前零零碎碎看了些操作片段，总是感觉很模糊，几天不用就忘一干二净了。 这次准备系统的搞搞清楚，在每遇到问题时就问题涉及范围内的知识要点先拟一个提纲，然后查资料、整理、描述、记录，这样有利于系统的提升。 这部分是关于ubuntu下软件安装的相关要点，部分自撰，部分来自网络。 常见方式 自动安装 通过软件管理 器或apt-get自动安装软件，软件会按照默认设置编译部署配置。 优点：方便、快捷、易升级 缺点：一般来说文件会按照标准分散在各目录，不易维护，因此如果需要经常对软件配置或其他内容进行维护，则不宜采用此方式。 常用命令： apt-get install {soft} apt-get remove {soft} apt-get update apt-get autoremove 自动删除已经无效的包 下载包解压安装 下载发行商已经 编译好的压缩包进行安装，需自行解压，并进行相关配置。 优点：可自定义文件部署路径，方便配置维护。 缺点：部署、升级、删除需手工操作，需关注依赖。 常用命令： wget http://{package url} 获取包 curl -o http://{package url}  获取包 tar zxvf {package.gz} -C {target dir. etc /opt} 将包gzip解压到指定路径 手工编译安装 下载源代码包，手工编译安装。 优点：可对针对具体情况对软件编译参数进行设置。 缺点：需要了解软件编译参数，需要编译环境，手工操作容易出错，依赖问题。 常用命令： sudo ./configure {&#8211;options} make make [...]]]></description>
			<content:encoded><![CDATA[<p>准备在ubuntu上搞搞java，整个环境还是不太习惯，以前零零碎碎看了些操作片段，总是感觉很模糊，几天不用就忘一干二净了。</p>
<p>这次准备系统的搞搞清楚，在每遇到问题时就问题涉及范围内的知识要点先拟一个提纲，然后查资料、整理、描述、记录，这样有利于系统的提升。	</p>
<p>这部分是关于ubuntu下软件安装的相关要点，部分自撰，部分来自网络。 </p>
<h3>常见方式</h3>
<ul>
<li>
<h4>自动安装</h4>
<p>通过软件管理  器或apt-get自动安装软件，软件会按照默认设置编译部署配置。</p>
<p>优点：方便、快捷、易升级</p>
<p>缺点：一般来说文件会按照标准分散在各目录，不易维护，因此如果需要经常对软件配置或其他内容进行维护，则不宜采用此方式。</p>
<p>常用命令：</p>
<ul class="recommend">
<li>apt-get install {soft}</li>
<li>apt-get remove {soft}</li>
<li>apt-get update</li>
<li>apt-get autoremove 自动删除已经无效的包</li>
</ul>
</li>
<li>
<h4>下载包解压安装</h4>
<p>下载发行商已经  编译好的压缩包进行安装，需自行解压，并进行相关配置。</p>
<p>优点：可自定义文件部署路径，方便配置维护。</p>
<p>缺点：部署、升级、删除需手工操作，需关注依赖。</p>
<p>常用命令：</p>
<ul class="recommend">
<li>wget http://{package url}  获取包</li>
<li>curl -o http://{package url}  获取包</li>
<li>tar zxvf {package.gz} -C {target dir. etc /opt}  将包gzip解压到指定路径</li>
</ul>
</li>
<li>
<h4>手工编译安装</h4>
<p>下载源代码包，手工编译安装。</p>
<p>优点：可对针对具体情况对软件编译参数进行设置。</p>
<p>缺点：需要了解软件编译参数，需要编译环境，手工操作容易出错，依赖问题。</p>
<p>常用命令：</p>
<ul class="recommend">
<li>sudo ./configure {&#8211;options}</li>
<li>make</li>
<li>make install</li>
</ul>
</li>
<li>
<h4>常用工具</h4>
<p>aptitude：apt终端图形界面工具</p>
<p>dpkg：deb包管理工具</p>
<ul class="recommend">
<li>dpkg -i {pkg.deb} 安装包</li>
<li>dpkg -r {pkg}  删除包</li>
<li>dpkg -L {pkg} 列出与该包关联文件</li>
<li>dpkg -l | grep {keyword}  列出当前已安装指定关键字包 </li>
</ul>
<p><a target="_blank" href="http://linuxtoy.org/archives/dpkg_reference.html">dpkg指令参考</a>/<a target="_blank" href="http://linuxtoy.org/archives/apt_reference.html">apt指令参考</a></p>
</li>
</ul>
<h3>目录结构</h3>
<ul>
<li>
<h4>标准目录</h4>
<p>linux系统的标准目录规范，如果通过系统软件管理器自动安装软件，则通常遵循此规范要求。</p>
<ul class="recommend">
<li>/bin 系统执行文件，最常使用命令，这些文件可以被普通用户使用。</li>
<li>/sbin  系统执行文件，这些文件不打算被普通用户使用，普通用户使用要指定目录。</li>
<li>/root  系统管理员（也叫超级用户或根用户）的Home目录。</li>
<li>/dev 设备文件目录。</li>
<li>/boot 用于自举加载程序(LILO或GRUB)的文件。</li>
<li>/lost+found   在文件系统修复时恢复的文件</li>
<li>/lib   系统核心共享库目录，几乎所有的应用程序都会用到该目录下的共享库。</li>
<li>/opt 可选应用程序目录，很多第三方软件在安装时默认会找这个目录。</li>
<li>/tmp   用来存放不同程序执行时产生的临时文件，该目录会被系统自动清理干净。</li>
<li>/var 存放在正常操作中被修改的文件，包括各种日志、加锁、临时文件、数据文件等。</li>
<li>/var/log   系统日志目录，通常也将其他系统的日志置于此目录或子目录。</li>
<li>/etc 存放各种配置文件和子目录，例如网络配置文件、文件系统、用户配置信息等。</li>
<li>/home/{user}  用户目录</li>
<li>/usr 用户的应用程序和文件几乎都存放在该目录下。</li>
<li>/usr/share  独立与你计算机结构的数据，譬如，字典中的词。</li>
<li>/usr/(s)bin  类似根目录下对应的目录(/bin和/sbin)，但不用于基本的启动(譬如，在紧急维护中)。大多数命令在这个目录下。</li>
<li>/usr/local  本地安装的应用程序，这个目录下的内容在重安装或升级操作系统后应该存在。</li>
<li>/usr/local/bin  可能是用户安装的小的应用程序，和一些在/usr/local目录下大应用程序的符号连接。</li>
<li>/usr/src Linux开放的源代码目录。</li>
</ul>
</li>
<li>
<h4>常见规划</h4>
<ul>
<li>
<p>桌面用途</p>
<p>用户自有应用和文件置于/home/{user}中。</p>
<p>系统共享应用可置于/usr/local。</p>
<p>纯自用无共享主机也可全部置于/home/{user}中。</p>
<p>/home可独立划分磁盘分区方便管理升级维护。</p>
</li>
<li>
<p>服务器用途</p>
<p>无固定模式，根据实际需求，通常不会严格按照规范。</p>
<p>常见模式</p>
<p>根据文件更新频繁度、破碎、重要性、IO读写等关键指标，将文件分类存储于不同目录、分区或磁盘，方便维护管理，提高性能和安全性。</p>
</li>
</ul>
</li>
</ul>
<h3>环境设置</h3>
<ul class="recommend">
<li>/etc/enviroment  系统环境变量配置，系统启动时读取。</li>
<li>/etc/profile  用户全局环境变量配置，用户登录启用时读取。</li>
<li>/etc/bashrc 开启shell时为每个bash用户执行此环境配置。</li>
<li>~/.profile 具体用户环境变量配置。</li>
<li>~/.bashrc 具体用户开启shell时环境配置。</li>
<li>~/.bash_profile 交互式、login方式进入bash时运行，通常和.bashrc内容相同，因此通常会调用.bashrc。</li>
<li>~/.bash_logout 当每次退出系统(退出bash shell)时，执行该文件。</li>
</ul>
<h3>服务</h3>
<p>最后，某些软件我们希望把他设置为服务，或者简单的说希望  他开机启动，很简单。</p>
<p>将启动脚本部署到/etc/init.d/，然后安装一个软件rcconf。</p>
<p>sudo apt-get install rcconf</p>
<p>运行rcconf即可设置启动选项，很怀旧的dos风格gui界面。</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/740.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linode VPS with Nginx的进一步优化</title>
		<link>http://linnchord.net/archives/687.html</link>
		<comments>http://linnchord.net/archives/687.html#comments</comments>
		<pubDate>Tue, 01 Dec 2009 17:57:06 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=687</guid>
		<description><![CDATA[清理系统服务 可以关闭不必要的系统服务，linux下常用chkconfig，在ubuntu系统上最常用sysv-rc-conf，界面更友好使用更方便，直接通过源安装即可运行。 sudo apt-get install sysv-rc-conf sudo sysv-rc-conf 通过软件可以发现，Linode提供的系统已经关闭了很多不必要的服务，但是系统自带了apache，直接取消选择关闭即可。 nginx过期设置 在nginx中，可以对部分类型资源配置过期时间，以利用客户端缓存，降低服务器端负载，某些媒体资源可以禁用log。 在对应的nginx配置文件youdomain.com中添加 location ~* ^.+\.(gif&#124;jpg&#124;jpeg&#124;png&#124;bmp&#124;ico&#124;swf)$ { root /home/myname/wwwroot/yourdomain.com; access_log off; expires 7d; } location ~* ^.+\.(js&#124;css)$ { root /home/myname/wwwroot/yourdomain.com; expires 24h; } wordpress静态化 cos-html-cache是WP的静态化插件，他可以将WP通过UrlRewrite优化过的Url链接彻底静态化。你只需要在WP后台设置固定链接为某种静态文件类似的形式（例如/archives/%post_id%.html），你就可以使用该插件生成对应的静态文件，从此用户将直接访问此静态文件，而不必再通过php解释，极大提高运行效率。 具体操作上面链接描述很详细，无需赘述。 不过我在启用此插件后，发现能正常生成网站根目录下index.html，但无法生成/archives/%post_id%.html。我写了一个php脚本放在网站根目录下测试，也无法在/archives目录下生成文件，提示找不到该目录。在cos-html-cache源文件中可以找到，生成html文件的脚本，路径信息是通过$_SERVER["DOCUMENT_ROOT"]获取的，但是尝试打印该值发现无值。最后我发现必须在Nginx站点配置文件中在php-fast-cgi的配置项里增加网站的root路径如下 location / { root /home/myname/wwwroot/yourdomain.com; index index.html index.htm index.php; if (-f $request_filename) { break; } if (-d $request_filename) { [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>
		<strong>清理系统服务</strong></p>
<p>可以关闭不必要的系统服务，linux下常用chkconfig，在ubuntu系统上最常用sysv-rc-conf，界面更友好使用更方便，直接通过源安装即可运行。</p>
<pre class="brush:bash">
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf
		</pre>
<p>		通过软件可以发现，Linode提供的系统已经关闭了很多不必要的服务，但是系统自带了apache，直接取消选择关闭即可。
	</li>
<p><span id="more-687"></span></p>
<li>
		<strong>nginx过期设置</strong></p>
<p>在nginx中，可以对部分类型资源配置过期时间，以利用客户端缓存，降低服务器端负载，某些媒体资源可以禁用log。</p>
<p>在对应的nginx配置文件youdomain.com中添加</p>
<pre class="brush:bash">
location ~* ^.+\.(gif|jpg|jpeg|png|bmp|ico|swf)$ {
	 root /home/myname/wwwroot/yourdomain.com;
	 access_log off;
	 expires 7d;
 }

location ~* ^.+\.(js|css)$ {
	root   /home/myname/wwwroot/yourdomain.com;
	expires 24h;
}
		</pre>
</li>
<li>
		<strong>wordpress静态化</strong></p>
<p><a href="http://www.storyday.com/html/y2007/1213_cos-html-cache-wordpress-static-release-of-plug-in.html" target="_blank">cos-html-cache</a>是WP的静态化插件，他可以将WP通过UrlRewrite优化过的Url链接彻底静态化。你只需要在WP后台设置固定链接为某种静态文件类似的形式（例如/archives/%post_id%.html），你就可以使用该插件生成对应的静态文件，从此用户将直接访问此静态文件，而不必再通过php解释，极大提高运行效率。</p>
<p>具体操作上面链接描述很详细，无需赘述。</p>
<p>不过我在启用此插件后，发现能正常生成网站根目录下index.html，但无法生成/archives/%post_id%.html。我写了一个php脚本放在网站根目录下测试，也无法在/archives目录下生成文件，提示找不到该目录。在cos-html-cache源文件中可以找到，生成html文件的脚本，路径信息是通过$_SERVER["DOCUMENT_ROOT"]获取的，但是尝试打印该值发现无值。最后我发现必须在Nginx站点配置文件中在php-fast-cgi的配置项里增加网站的root路径如下</p>
<pre class="brush:bash">
location / {
	root   /home/myname/wwwroot/yourdomain.com;
	index  index.html index.htm index.php;

	if (-f $request_filename) {
		break;
	}
	if (-d $request_filename) {
		break;
	}

	rewrite ^(.+)$ /index.php?q=$1 last;

}
location ~ \.php$ {

	#必须定义root -----------------------------------------

	root   /home/myname/wwwroot/yourdomain.com;

	#------------------------------------------------------

	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;
}
		</pre>
<p>如果不添加该root信息，在php中则无法正确获取$_SERVER["DOCUMENT_ROOT"]参数，会导致路径定位错误。不过按照一般逻辑，这个应该是继承前面的root设置，不必重复定义。也许是因为fastcgi是从nginx转向到另一个新的进程的缘故，所以需要具体定义参数传递。不过nginx应该自动获取该值，避免重复手工操作。</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/687.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Setup on Linode.com with ubuntu+nginx+php+fastcgi+mysql</title>
		<link>http://linnchord.net/archives/652.html</link>
		<comments>http://linnchord.net/archives/652.html#comments</comments>
		<pubDate>Fri, 27 Nov 2009 06:32:10 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=652</guid>
		<description><![CDATA[我对Linux系统还处于初入门阶段，在配置安装Linode VPS的服务过程中学到了不少东西，了解了不少概念，特记之。 启用 Linode的网站设计非常简洁，一个粗略认识英文的同学都可以轻易申请搞定，就不需要再介绍了。 在选择服务器网络物理位置的时候，Linode提供了一个下载测试列表供大家测试，你可以选择访问速度最优的位置。网上其它同学很多选择Fremont，不过我测试下来（杭州ADSL4M）Newark最快，浏览器单线程下载速度稳定达到300K+，所以我选择了Newark。估计各地网络不同有所区别，大家选用建议自行测试。 系统我选择的是ubuntu（嗯，已经提供9.10Server了），主要是出于我对ubuntu桌面版的使用习惯和偏爱。网上很多说法是ubuntu服务器版不够专业，不过我本来也不太够专业，也不知道ubuntu哪里不够专业，呵呵，也就无所谓了。 环境基本配置 在web面板开启虚拟机以后，你就可以通过root用户和密码在客户端（推荐putty）登录。登陆后第一件事情，增加一个新账号（用你的常用名 例如myname）。 adduser myname visudo 在该文件中增加以下行 myname ALL=(ALL) ALL 此操作使myname用户可以使用sudo命令，如果要给其他账号提供sudo操作权限，类推。 ok，exit命令退出putty登录再重启，通过myname账号和你设置的密码重新登录系统。Linode默认提供的ubuntu的源缺少一些开发包，所以我们先编辑一下源。 sudo vi /etc/apt/source.list 我们需要做的仅仅是将文件中已经注释掉的几行源去掉前面的“#”，重新开启即可——不需要为具体的源担心，默认的已经飞速了。然后我们需要刷新一下 sudo apt-get update 我习惯使用vim，所以先安一个 sudo apt-get install vim 我们还需要一个中文UTF的本地环境，不过这得看情况，也许你不需要？ sudo locale-gen zh_CN.UTF-8 sudo /usr/sbin/update-locale LANG=zh_CN.UTF-8 将服务器时间设置为上海时间 sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime nginx+spawn-fastcgi+php+mysql 我们先来安一个编译包吧 sudo apt-get install build-essential 然后php和mysql安装最方便，直接从apt源安装即可 sudo apt-get -y install php5-common php5-mysql [...]]]></description>
			<content:encoded><![CDATA[<p>我对Linux系统还处于初入门阶段，在配置安装Linode VPS的服务过程中学到了不少东西，了解了不少概念，特记之。</p>
<ol>
<li>
<strong>启用</strong></p>
<p>Linode的网站设计非常简洁，一个粗略认识英文的同学都可以轻易申请搞定，就不需要再介绍了。</p>
<p>在选择服务器网络物理位置的时候，Linode提供了一个<a href="http://www.linode.com/forums/viewtopic.php?t=2636" target="_blank">下载测试列表</a>供大家测试，你可以选择访问速度最优的位置。网上其它同学很多选择Fremont，不过我测试下来（杭州ADSL4M）Newark最快，浏览器单线程下载速度稳定达到300K+，所以我选择了Newark。估计各地网络不同有所区别，大家选用建议自行测试。</p>
<p>系统我选择的是ubuntu（嗯，已经提供9.10Server了），主要是出于我对ubuntu桌面版的使用习惯和偏爱。网上很多说法是ubuntu服务器版不够专业，不过我本来也不太够专业，也不知道ubuntu哪里不够专业，呵呵，也就无所谓了。</p>
</li>
<li>
<strong>环境基本配置</strong></p>
<p>在web面板开启虚拟机以后，你就可以通过root用户和密码在客户端（推荐<a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">putty</a>）登录。登陆后第一件事情，增加一个新账号（用你的常用名 例如myname）。</p>
<pre class="brush: bash;">
adduser myname
visudo
</pre>
<p>在该文件中增加以下行</p>
<pre class="brush: bash;">
myname ALL=(ALL) ALL
</pre>
<p>此操作使myname用户可以使用sudo命令，如果要给其他账号提供sudo操作权限，类推。</p>
<p>ok，exit命令退出putty登录再重启，通过myname账号和你设置的密码重新登录系统。Linode默认提供的ubuntu的源缺少一些开发包，所以我们先编辑一下源。</p>
<pre class="brush: bash;">
sudo vi /etc/apt/source.list
</pre>
<p>我们需要做的仅仅是将文件中已经注释掉的几行源去掉前面的“#”，重新开启即可——不需要为具体的源担心，默认的已经飞速了。然后我们需要刷新一下</p>
<pre class="brush: bash;">
sudo apt-get update
</pre>
<p>我习惯使用vim，所以先安一个</p>
<pre class="brush: bash;">
sudo apt-get install vim
</pre>
<p>我们还需要一个中文UTF的本地环境，不过这得看情况，也许你不需要？</p>
<pre class="brush: bash;">
sudo locale-gen zh_CN.UTF-8
sudo /usr/sbin/update-locale LANG=zh_CN.UTF-8
</pre>
<p>将服务器时间设置为上海时间</p>
<pre class="brush: bash;">
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
</pre>
</li>
<p><span id="more-652"></span></p>
<li>
<strong>nginx+spawn-fastcgi+php+mysql</strong></p>
<p>我们先来安一个编译包吧</p>
<pre class="brush: bash;">
sudo apt-get install build-essential
</pre>
<p>然后php和mysql安装最方便，直接从apt源安装即可</p>
<pre class="brush: bash;">
sudo apt-get -y install php5-common php5-mysql php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-cgi php5-mcrypt php5-curl php5-gd php5-memcache php5-mhash php5-pspell php5-sqlite libmagick9-dev php5-cli
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
</pre>
<p>php的安装命令我是copy的，然后去掉了一些不必要的包，如果你觉得不必要也可以去掉，真正基本环境必须的只有php5 php5-cgi而已。mysql在安装过程中会让你设置root的密码，不要设置太简单了，也不要和系统root密码一样。</p>
<p>然后我们需要安装nginx</p>
<pre class="brush: bash;">
cd ~
mkdir source
cd source
wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
tar -zxvf nginx-0.7.64.tar.gz
cd nginx-0.7.64
sudo apt-get install libssl-dev libpre3-dev zlib1g-dev
./configure --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-md5-asm --with-md5=/usr/include --with-sha1-asm --with-sha1=/usr/include --with-http_stub_status_module
make
sudo make install
</pre>
<p>在configure的时候可以定义很多参数，官方的参考文档在<a href="http://wiki.nginx.org/NginxChsInstallOptions" target="_blank">这里</a>。我在网上看的相关的文章，定义了很多路径的参数，也许有什么特别的理由或习惯需要特别定义，我不太了解，所以我都去掉了，就用默认的路径就好。nginx默认的安装路径是/usr/local/nginx，其中包含了配置、基本的html页面、log、站点设置等。with-md5-asm和with-sha1-asm官方wiki说只建议使用一种，不过只用一种我无法通过编译，不知道问题所在。另外with-http_stub_status_module可以开通nginx内置的状态统计功能，建议都配置上，后面会开启该功能。</p>
<p>然后我们来安装spawn-fcgi，这是lighttpd的fastcgi管理器，目前已经是独立项目了，当前最新版本是1.6.3。</p>
<pre class="brush: bash;">
cd ~/source
wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
tar -zxvf spawn-fcgi-1.6.3.tar.gz
cd spawn-fcgi-1.6.3
sudo ./configure &#038;&#038; make &#038;&#038; make install
</pre>
</li>
</ol>
<p>………</p>
<p>做的事情不多，要写清楚真累，太长了，休息下，明天再整理。</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/652.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu flash中文乱码</title>
		<link>http://linnchord.net/archives/408.html</link>
		<comments>http://linnchord.net/archives/408.html#comments</comments>
		<pubDate>Tue, 05 May 2009 08:48:59 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.net/?p=408</guid>
		<description><![CDATA[sudo gedit /etc/fonts/conf.d/49-sansserif.conf 替换sans-serif或者serif为wqy-zenhei（或其他你喜欢的中文字体）即可。]]></description>
			<content:encoded><![CDATA[<p>sudo gedit /etc/fonts/conf.d/49-sansserif.conf</p>
<p>替换sans-serif或者serif为wqy-zenhei（或其他你喜欢的中文字体）即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/408.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu 9.04 with vbox2.2.2</title>
		<link>http://linnchord.net/archives/404.html</link>
		<comments>http://linnchord.net/archives/404.html#comments</comments>
		<pubDate>Wed, 29 Apr 2009 13:14:56 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[存照]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vbox]]></category>

		<guid isPermaLink="false">http://linnchord.net/archives/404.html</guid>
		<description><![CDATA[感觉ubuntu运行在vbox下和独立运行区别不大，都比较流畅。开启3D以后屏幕刷新有点问题，估计内存设的小点的缘故，关了一切就ok。可以尝试作为开发环境，在windows下开发linux环境程序太痛苦了。 ubuntu 9.04的桌面可用性又好了很多，最直接一点，安装后默认的字体已经很漂亮了，不用再调整字体了…… 一个好源（杭州电信ADSL连接） deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe deb-src http://ftp.sjtu.edu.cn/ubuntu/ [...]]]></description>
			<content:encoded><![CDATA[<p>感觉ubuntu运行在vbox下和独立运行区别不大，都比较流畅。开启3D以后屏幕刷新有点问题，估计内存设的小点的缘故，关了一切就ok。可以尝试作为开发环境，在windows下开发linux环境程序太痛苦了。</p>
<p>ubuntu 9.04的桌面可用性又好了很多，最直接一点，安装后默认的字体已经很漂亮了，不用再调整字体了……</p>
<p>一个好源（杭州电信ADSL连接）</p>
<div class="quote">
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe<br />
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe<br />
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe
</div>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/404.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Go With Ubuntu 6.10</title>
		<link>http://linnchord.net/archives/29.html</link>
		<comments>http://linnchord.net/archives/29.html#comments</comments>
		<pubDate>Wed, 31 Jan 2007 23:04:33 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[工具]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.net/2007/01/go-with-ubuntu-610/</guid>
		<description><![CDATA[捣鼓了几天linux，终于基本搞定了。字体美化，源更新，自动更新，多媒体支持，聊天工具，BT……开始用吧 Linux]]></description>
			<content:encoded><![CDATA[<p>
 捣鼓了几天linux，终于基本搞定了。字体美化，源更新，自动更新，多媒体支持，聊天工具，BT……开始用吧 Linux
</p>
<p><a href="http://www.flickr.com/photos/linnchord/375537660/" title="Go With Ubuntu 6.10" target="_blank"><img src="http://farm1.static.flickr.com/145/375537660_3eb3bacd0c.jpg" width="500" height="400" alt="Go With Ubuntu 6.10" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/29.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu教程</title>
		<link>http://linnchord.net/archives/63.html</link>
		<comments>http://linnchord.net/archives/63.html#comments</comments>
		<pubDate>Mon, 24 Jul 2006 23:16:33 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[存照]]></category>
		<category><![CDATA[阅读]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://linnchord.net/2006/07/ubuntu%e6%95%99%e7%a8%8b/</guid>
		<description><![CDATA[言简意赅的文章和信息全面的著书，前者往往能让人获得更多的信息，这里面的起作用的是人的态度，而不是信息的多少。 http://forum.ubuntu.org.cn/about18740.html&#038;highlight=%E8%BE%93%E5%85%A5%E6%B3%95]]></description>
			<content:encoded><![CDATA[<p>言简意赅的文章和信息全面的著书，前者往往能让人获得更多的信息，这里面的起作用的是人的态度，而不是信息的多少。</p>
<p><a href="http://forum.ubuntu.org.cn/about18740.html&#038;highlight=%E8%BE%93%E5%85%A5%E6%B3%95" class="en">http://forum.ubuntu.org.cn/about18740.html&#038;highlight=%E8%BE%93%E5%85%A5%E6%B3%95</a></p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/63.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

