<?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>Mingshi &#187; 网站技术</title>
	<atom:link href="http://www.mingshi.info/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mingshi.info</link>
	<description>miaomiao</description>
	<lastBuildDate>Thu, 11 Aug 2011 05:36:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>CentOS快速安装lamp和ftp</title>
		<link>http://www.mingshi.info/centos-vps-lamp-ftp/</link>
		<comments>http://www.mingshi.info/centos-vps-lamp-ftp/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 03:26:22 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vsftpd]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=963</guid>
		<description><![CDATA[1、Apache yum update yum install httpd cp /etc/httpd/conf/httpd.conf ~/httpd.conf.backup vi  /etc/httpd/conf.d/vhost.conf NameVirtualHost serverIP :80 &#60;VirtualHost domain.com:80&#62; ServerAdmin domain@domain.com ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/domain.com/public_html/ ErrorLog /var/www/domain.com/logs/error.log CustomLog /var/www/domain.com/logs/access.log combined &#60;/VirtualHost&#62; IP直接访问 &#60;VirtualHost serverIP:80&#62; ServerName serverIP DocumentRoot /var/www/html/ &#60;/VirtualHost&#62; mkdir -p /var/www/domain.com/public_html mkdir -p /var/www/domain.com/logs /etc/init.d/httpd start /etc/init.d/httpd reload /sbin/chkconfig –levels 235 httpd on 2、 MySQL [...]]]></description>
			<content:encoded><![CDATA[<p>1、Apache<br />
<code><br />
yum update<br />
yum install httpd</code></p>
<p><code>cp /etc/httpd/conf/httpd.conf ~/httpd.conf.backup</code></p>
<p><code>vi  /etc/httpd/conf.d/vhost.conf</code></p>
<p><code><em>NameVirtualHost serverIP :80</em></code></p>
<p><code><em>&lt;VirtualHost domain.com:80&gt;<br />
ServerAdmin domain@domain.com<br />
ServerName domain.com<br />
ServerAlias www.domain.com<br />
DocumentRoot /var/www/domain.com/public_html/<br />
ErrorLog /var/www/domain.com/logs/error.log<br />
CustomLog /var/www/domain.com/logs/access.log combined<br />
&lt;/VirtualHost&gt;</em></code></p>
<p><code> </code></p>
<p><code>IP直接访问</code></p>
<p><code> </code></p>
<p><span style="font-family: monospace;"><em>&lt;VirtualHost serverIP:80&gt;</em></span></p>
<p><code><em> ServerName serverIP<br />
DocumentRoot /var/www/html/<br />
&lt;/VirtualHost&gt;</em><br />
mkdir -p /var/www/<em>domain.com</em>/public_html<br />
mkdir -p /var/www/<em>domain.com</em>/logs</code></p>
<p><code>/etc/init.d/httpd start</code></p>
<p><code>/etc/init.d/httpd reload</code></p>
<p><code> </code></p>
<p><code>/sbin/chkconfig –levels 235 httpd on</code></p>
<p>2、 MySQL</p>
<p><code><br />
yum install mysql-server<br />
/sbin/chkconfig –levels 235 mysqld on</code></p>
<p><code>/etc/init.d/mysqld start<br />
/etc/init.d/mysqld reload</code></p>
<p><code> </code></p>
<p><code>mysql_secure_installation<br />
mysql -u root -p<br />
<em> create database dbsample;<br />
grant all on dbsample.* to ‘dbuser’ identified by ’dbpassword’;<br />
quit</em><br />
</code></p>
<p>3、PHP</p>
<p><code><br />
yum install php php-pear php-mysql</code></p>
<p><code>vi /etc/php.ini</code></p>
<p><code><em>error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR<br />
display_errors = Off<br />
log_errors = On<br />
error_log = /var/log/php.log<br />
max_execution_time = 300<br />
memory_limit = 64M<br />
register_globals = Off</em></code></p>
<p><code> </code></p>
<p>4、FTP</p>
<p><code>yum -y install vsftpd</code></p>
<p><code>service vsftpd start</code></p>
<p><code>chkconfig –level 35 vsftpd on</code></p>
<p><code> </code></p>
<p><code>netstat -tl</code></p>
<p><code>禁止匿名用户<br />
vi /etc/vsftpd/vsftpd.conf<br />
<em> anonymous_enable=NO</em></code></p>
<p><code>设定 ftp 目录<br />
chgrp -R ftp   /var/www<br />
chmod -R 777  /var/www</code></p>
<p><code>增加 ftp 用户<br />
adduser –d /var/www –g ftp –s /sbin/nologin usersample<br />
passwd usersample</code></p>
<p><code>service vsftpd restart</code></p>
<p>全部搞定<img src="http://www.mingshi.info/wp-content/uploads/2011/01/051709Ptt.gif" alt="" />。</p>
<p><code> </code></p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fcentos-vps-lamp-ftp%2F&title=CentOS%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85lamp%E5%92%8Cftp" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/centos-vps-lamp-ftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cento安装L2TP/IPSec VPN</title>
		<link>http://www.mingshi.info/centos-l2tp-ipsec-vpn/</link>
		<comments>http://www.mingshi.info/centos-l2tp-ipsec-vpn/#comments</comments>
		<pubDate>Sat, 15 May 2010 18:10:32 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[l2tp]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=917</guid>
		<description><![CDATA[yum install -y ppp gmp xl2tpd lsof 32位 rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm wget http://openswan.org/download/binaries/centos/5/without-nss/openswan-2.6.24rc5-1.i386.rpm rpm -ivh openswan-2.6.24rc5-1.i386.rpm 64位 rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm wget http://openswan.org/download/binaries/centos/5/without-nss/openswan-2.6.24rc5-1.x86_64.rpm rpm -ivh openswan-2.6.24rc5-1.x86_64.rpm vi /etc/sysctl.conf 修改 net.ipv4.ip_forward = 1 添加 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 sysctl -p service ipsec start ipsec verify查看 除了最后一个，其他均需要OK Checking your system [...]]]></description>
			<content:encoded><![CDATA[<p>yum install -y ppp gmp xl2tpd lsof</p>
<p><code>32位</code></p>
<p><code> </code></p>
<p><code>rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm</code></p>
<p><code> </code></p>
<p><code>wget http://openswan.org/download/binaries/centos/5/without-nss/openswan-2.6.24rc5-1.i386.rpm</code></p>
<p><code> </code></p>
<p><code>rpm -ivh openswan-2.6.24rc5-1.i386.rpm</code></p>
<p><code>64位<br />
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm</code></p>
<p><code>wget http://openswan.org/download/binaries/centos/5/without-nss/openswan-2.6.24rc5-1.x86_64.rpm</p>
<p>rpm -ivh openswan-2.6.24rc5-1.x86_64.rpm</p>
<p>vi /etc/sysctl.conf</p>
<p>修改</p>
<p>net.ipv4.ip_forward = 1</p>
<p>添加</p>
<p>net.ipv4.conf.all.send_redirects = 0</p>
<p>net.ipv4.conf.default.send_redirects = 0<br />
net.ipv4.conf.all.accept_redirects = 0<br />
net.ipv4.conf.default.accept_redirects = 0</p>
<p>sysctl -p</p>
<p>service ipsec start<br />
ipsec verify查看</p>
<p>除了最后一个，其他均需要OK</p>
<p>Checking your system to see if IPsec got installed and started correctly:<br />
Version check and ipsec on-path [OK]<br />
Linux Openswan U2.6.24rc5/K2.6.18-164.11.1.el5xen (netkey)<br />
Checking for IPsec support in kernel [OK]<br />
Testing against enforced SElinux mode [OK]<br />
NETKEY detected, testing for disabled ICMP send_redirects [OK]<br />
NETKEY detected, testing for disabled ICMP accept_redirects [OK]<br />
Checking for RSA private key (/etc/ipsec.secrets) [OK]<br />
Checking that pluto is running [OK]<br />
Pluto listening for IKE on udp 500 [OK]<br />
Pluto listening for NAT-T on udp 4500 [OK]<br />
Two or more interfaces found, checking IP forwarding [OK]<br />
Checking NAT and MASQUERADEing<br />
Checking for ‘ip’ command [OK]<br />
Checking for ‘iptables’ command [OK]<br />
Opportunistic Encryption Support [DISABLED]</p>
<p>vi /etc/ipsec.conf</p>
<p>version 2.0<br />
config setup<br />
nat_traversal=yes<br />
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12<br />
oe=off<br />
protostack=netkey</p>
<p>conn L2TP-PSK-NAT<br />
rightsubnet=vhost:%priv<br />
also=L2TP-PSK-noNAT</p>
<p>conn L2TP-PSK-noNAT<br />
authby=secret<br />
pfs=no<br />
auto=add<br />
keyingtries=3<br />
rekey=no<br />
type=transport<br />
left=YOUR.SERVER.IP.ADDRESS<br />
leftprotoport=17/1701<br />
right=%any<br />
rightprotoport=17/%any</p>
<p>vi /etc/ipsec.secrets</p>
<p>YOUR.SERVER.IP.ADDRESS  %any: PSK "YourSharedSecret"</p>
<p>service ipsec restart</p>
<p>vi /etc/xl2tpd/xl2tpd.conf</p>
<p>[global]<br />
listen-addr = YOUR.SERVER.IP.ADDRESS<br />
ipsec saref = yes</p>
<p>[lns default]<br />
ip range = 192.168.8.2-192.168.8.101<br />
local ip = 192.168.8.1<br />
;require chap = yes<br />
refuse pap = yes<br />
refuse chap = yes<br />
require authentication = yes<br />
name = l2tpd<br />
ppp debug = yes<br />
pppoptfile = /etc/ppp/options.xl2tpd<br />
length bit = yes</p>
<p>vi /etc/ppp/options.xl2tpd</p>
<p>require-mschap-v2<br />
ms-dns 8.8.8.8<br />
ms-dns 8.8.4.4<br />
asyncmap 0<br />
auth<br />
crtscts<br />
lock<br />
hide-password<br />
modem<br />
debug<br />
name l2tpd<br />
proxyarp</p>
<p>vi /etc/ppp/chap-secrets<br />
test * test *</p>
<p>service xl2tpd start<br />
（xl2tpd -D 查错）</p>
<p>service iptables start</p>
<p>iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE</p>
<p>service iptables save</p>
<p>service iptables restart</p>
<p>chkconfig --list<br />
chkconfig ipsec on<br />
chkconfig xl2tpd on</p>
<p>iptables -I RH-Firewall-1-INPUT 10   -p udp -m udp --dport 1701 -j ACCEPT<br />
iptables -I RH-Firewall-1-INPUT 10   -p udp -m udp --dport 4500 -j ACCEPT<br />
iptables -I RH-Firewall-1-INPUT 10   -p udp -m udp --dport 500 -j ACCEPT</p>
<p>OK!</p>
<p>其他的一些参考配置</p>
<p>1、修改/etc/xl2tpd/xl2tpd.conf，内容如下：<br />
mkdir /etc/xl2tpd</p>
<p>cp examples/xl2tpd.conf  /etc/xl2tpd/</p>
<p>vi /etc/xl2tpd/xl2tpd.conf<br />
[global]<br />
listen-addr = 192.168.1.67<br />
port=1701<br />
auth file=/etc/ppp/chap-secrets    #// 有l2tp-secret     auth file = /etc/xl2tpd/l2tp-secrets<br />
[lns default]<br />
ip range = 192.168.9.128-192.168.9.254<br />
local ip = 192.168.9.99<br />
require chap = yes<br />
refuse pap = yes<br />
require authentication = yes<br />
name = LinuxVPNserver<br />
ppp debug = yes<br />
pppoptfile = /etc/ppp/options.xl2tpd<br />
length bit = yes</p>
<p>2、修改/etc/ppp/options.xl2tpd，内容如下：</p>
<p>cp examples/ppp-options.xl2tpd  /etc/ppp/options.xl2tpd</p>
<p>vi /etc/ppp/options.xl2tpd<br />
ipcp-accept-local<br />
ipcp-accept-remote<br />
ms-dns  192.168.1.1<br />
ms-dns  192.168.1.3<br />
ms-wins 192.168.1.2<br />
ms-wins 192.168.1.4<br />
noccp<br />
auth<br />
crtscts<br />
idle 1800<br />
mtu 1410<br />
mru 1410<br />
nodefaultroute<br />
debug<br />
lock<br />
proxyarp<br />
connect-delay 5000</p>
<p></code></p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fcentos-l2tp-ipsec-vpn%2F&title=Cento%E5%AE%89%E8%A3%85L2TP%2FIPSec+VPN" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/centos-l2tp-ipsec-vpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>给服务器添加了ssl</title>
		<link>http://www.mingshi.info/vpn-ssl/</link>
		<comments>http://www.mingshi.info/vpn-ssl/#comments</comments>
		<pubDate>Mon, 10 May 2010 03:55:38 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=853</guid>
		<description><![CDATA[看图]]></description>
			<content:encoded><![CDATA[<p>看图</p>
<p><a rel="attachment wp-att-865" href="http://www.mingshi.info/vpn-ssl/screenshot_1-3/"><img class="alignnone size-full wp-image-865" title="Screenshot_1" src="http://www.mingshi.info/wp-content/uploads/2010/05/Screenshot_11.png" alt="" width="501" height="279" /></a></p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fvpn-ssl%2F&title=%E7%BB%99%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%B7%BB%E5%8A%A0%E4%BA%86ssl" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/vpn-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centos yum 安装nginx+php+mysql</title>
		<link>http://www.mingshi.info/centos-yum-nginx-php-mysql/</link>
		<comments>http://www.mingshi.info/centos-yum-nginx-php-mysql/#comments</comments>
		<pubDate>Fri, 07 May 2010 11:15:11 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=794</guid>
		<description><![CDATA[yum -y install yum-fastestmirror yum -y update yum -y install patch make gcc gcc-c++ gcc-g77 flex bison yum -y install libtool libtool-libs kernel-devel autoconf yum -y install libjpeg libjpeg-devel libpng libpng-devel yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel yum -y install glib2 glib2-devel bzip2 diff* yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel [...]]]></description>
			<content:encoded><![CDATA[<p>yum -y install yum-fastestmirror<br />
yum -y update<br />
yum -y install patch make gcc gcc-c++ gcc-g77 flex bison<br />
yum -y install libtool libtool-libs kernel-devel autoconf<br />
yum -y install libjpeg libjpeg-devel libpng libpng-devel<br />
yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel<br />
yum -y install glib2 glib2-devel bzip2 diff*<br />
yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs<br />
yum -y install e2fsprogs-devel krb5 krb5-devel libidn libidn-devel<br />
yum -y install openssl openssl-devel vim-minimal</p>
<pre>rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm</pre>
<p>64位替换i386为x86_64</p>
<p>yum -y install mysql mysql-server mysql-devel</p>
<p>yum -y install php  php-mysql php-cgi php-mbstring php-gd php-fastcgi php-pear php-pear-DB php-fpm php-cli php-pdo php-mcrypt  php-tidy php-xml php-xmlrpc  php-pecl-memcache php-eaccelerator</p>
<p>yum -y install nginx</p>
<p>所有的配置文件都在 /etc 目录</p>
<p>chkconfig mysqld on<br />
chkconfig php-fpm on<br />
chkconfig  nginx on</p>
<p>service mysqld start<br />
mysqladmin -u root password rootpassword</p>
<p>创建www用户和组,以及主机需要的目录,日志目录</p>
<p><code><br />
groupadd www<br />
useradd -g www www<br />
mkdir -p /home/www<br />
chmod +w /home/www<br />
mkdir -p /home/www/logs<br />
chmod 777 /home/www/logs<br />
chown -R www:www /home/www</code></p>
<p>vi /etc/nginx/nginx.conf</p>
<p><code><br />
<em> user www www;</em></code></p>
<p><code><em> </em></code></p>
<p><code><em>worker_processes 2; #这里根据你的CPU和内存配置, 设置2到10都OK</em></code></p>
<p><code><em>error_log  /home/www/logs/nginx_error.log  crit;</p>
<p>pid        /usr/local/nginx/logs/nginx.pid;</p>
<p>#Specifies the value for maximum file descriptors that can be opened by this process.<br />
worker_rlimit_nofile 51200;</p>
<p>events {<br />
use epoll;<br />
worker_connections 51200;<br />
}</p>
<p>http {<br />
include       mime.types;<br />
default_type  application/octet-stream;</p>
<p>#charse  gb2312; # 默认编码，可以不设置</p>
<p>server_names_hash_bucket_size 128;<br />
client_header_buffer_size 16k;<br />
large_client_header_buffers 4 16k;<br />
client_max_body_size 8m;</p>
<p>sendfile on;<br />
tcp_nopush     on;</p>
<p>keepalive_timeout 60;</p>
<p>tcp_nodelay on;</p>
<p>fastcgi_connect_timeout 300;<br />
fastcgi_send_timeout 300;<br />
fastcgi_read_timeout 300;<br />
fastcgi_buffer_size 64k;<br />
fastcgi_buffers 4 64k;<br />
fastcgi_busy_buffers_size 128k;<br />
fastcgi_temp_file_write_size 128k;</p>
<p>gzip on;<br />
gzip_min_length  1k;<br />
gzip_buffers     4 16k;<br />
gzip_http_version 1.0;<br />
gzip_comp_level 5;<br />
gzip_types       text/plain text/javascript application/x-javascript text/css application/xml;<br />
gzip_vary on;</p>
<p>#limit_zone  crawler  $binary_remote_addr  10m;<br />
server {<br />
listen 80;<br />
server_name localhost;<br />
root  /home/www;<br />
location /status {<br />
stub_status on;<br />
access_log  off;<br />
}<br />
location / {<br />
# 这里是把所有不存在的文件和目录，全都转到 index.php 处理<br />
try_files $uri $uri/ /index.php?q=$uri&amp;$args;<br />
}</p>
<p># 这里分开放到 server.conf 是为了再开 server 的时候方便，统一调用，放到/etc/nginx/ 目录下<br />
include server.conf;</p>
<p>log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '<br />
'$status $body_bytes_sent "$http_referer" '<br />
'"$http_user_agent" $http_x_forwarded_for';<br />
access_log  /home/www/logs/access.log  access;<br />
}</p>
<p></em></code></p>
<p><code><em>server {<br />
listen 80;<br />
server_name yourdomain.com;<br />
root  /home/www/yourdomain;<br />
if ($host !~* yourdomain\.com$) {<br />
return 444;<br />
}<br />
location / {<br />
try_files $uri $uri/ /index.php?q=$uri&amp;$args;<br />
}<br />
include server.conf; # 这里复用了，这段就省了<br />
access_log  /home/www/logs/yourdomain.com_access.log  access;<br />
}<br />
}</em><br />
</code></p>
<p>vi /etc/nginx/server.conf<br />
<code><br />
<em> index index.html index.htm index.php;</em></code></p>
<p><code><em> </em></code></p>
<p><code><em>#limit_conn   crawler  20;</em></code></p>
<p><code><em>location ~ /\.ht {<br />
deny all;<br />
}</p>
<p>location ~ .*\.(sqlite|sq3)$ {<br />
deny all;<br />
}</p>
<p>location ~ .*\.php$ {<br />
fastcgi_pass  unix:/tmp/php-cgi.sock;<br />
#fastcgi_pass  127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
include fcgi.conf;<br />
}</p>
<p>location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {<br />
expires      30d;<br />
access_log   off;<br />
}</p>
<p></em></code></p>
<p><code><em>location ~ .*\.(js|css)?$ {<br />
expires      30d;<br />
access_log   off;<br />
}</em><br />
</code></p>
<p>service php-fpm start<br />
service nginx start</p>
<p>OK!</p>
<p>nginx测试<br />
/usr/local/nginx/sbin/nginx -t<br />
nginx平滑重启命令<br />
/usr/local/nginx/sbin/nginx -s reload</p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fcentos-yum-nginx-php-mysql%2F&title=Centos+yum+%E5%AE%89%E8%A3%85nginx%2Bphp%2Bmysql" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/centos-yum-nginx-php-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>建立只使用ssh“转发”功能的系统账户</title>
		<link>http://www.mingshi.info/linux-ssh-user/</link>
		<comments>http://www.mingshi.info/linux-ssh-user/#comments</comments>
		<pubDate>Sat, 01 May 2010 07:05:30 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=771</guid>
		<description><![CDATA[为了满足“翻墙”的需要，在国外的Linux主机上（比如 DreamHost ）上建个可 ssh登录的用户，使用 ssh 的 Tunnel 来作代理是十分常见的方法。 但是主人往往又想最小化用户权限，以避免对系统造成影响。最简单的办法就是，禁止用户登录。 其实 ssh 可以连接到 sshd 但是不执行远程命令（默认是启动用户设定的 shell ），使用 -N 参数即可。 在服务器上建一个 username ： 添加用户：useradd -s /bin/false  username，将用户的shell设置成/bin/false。这样用户就无法与系统进行交互。 设置密码：passwd username 小技巧： 也可以使用 /usr/bin/passwd 作为用户的 shell ，这样用户就可以通过登录而来自主修改密码。需要注意的是，需要将 /usr/bin/passwd 这一行写进 /etc/shells文件。 sshd 认证通后之后，会检查设定的 shell 是否登记在 /etc/shells 文件中，若已经登记，则fork自己，然后fork出来的子进程再exec 设定的 shell 。而 ssh 的 -N 参数，则是告诉 sshd 不需要执行 shell。 建立Tunnel： ssh -D [...]]]></description>
			<content:encoded><![CDATA[<p>为了满足“翻墙”的需要，在国外的Linux主机上（比如 DreamHost ）上建个可 ssh登录的用户，使用 ssh 的 Tunnel 来作代理是十分常见的方法。<br />
但是主人往往又想最小化用户权限，以避免对系统造成影响。最简单的办法就是，禁止用户登录。<br />
其实 ssh 可以连接到 sshd 但是不执行远程命令（默认是启动用户设定的 shell ），使用 -N 参数即可。<br />
在服务器上建一个 username ：<br />
添加用户：useradd -s /bin/false  username，将用户的shell设置成/bin/false。这样用户就无法与系统进行交互。<br />
设置密码：passwd username</p>
<p>小技巧：<br />
也可以使用 /usr/bin/passwd 作为用户的 shell ，这样用户就可以通过登录而来自主修改密码。需要注意的是，需要将 /usr/bin/passwd 这一行写进 /etc/shells文件。<br />
sshd 认证通后之后，会检查设定的 shell 是否登记在 /etc/shells 文件中，若已经登记，则fork自己，然后fork出来的子进程再exec 设定的 shell 。而 ssh 的 -N 参数，则是告诉 sshd 不需要执行 shell。</p>
<p>建立Tunnel：</p>
<p>ssh -D 1080 -qfnN    username@hostname</p>
<p>输入密码即可使用（也可以用key认证）。</p>
<p>Windows的话，可以使用<a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">plink.exe</a>或者<a href="http://nemesis2.qx.net/pages/MyEnTunnel" target="_blank">MyEnTunnel</a>（MyEnTunnel 本质上也是使用plink.exe来建立Tunnel）。</p>
<p>此时账号username 可以通过sshd的认证使用 TcpForwarding ，但是不能运行 shell，不能与系统交互。刚好可以用来为朋友提供国外的代理翻墙。</p>
<p>参数详解：<br />
-D 1080 建立动态Tunnel，监听在本地1080端口。<br />
-q  安静模式。<br />
-f   ssh在后台运行，即认证之后，ssh退居后台。<br />
-n  将 stdio 重定向到 /dev/null，与-f配合使用。<br />
-N  不运行远程程序。即通知 sshd 不运行设定的 shell。</p>
<p>zt from <a href="http://www.bsdmap.com/2010/02/22/create-tunnel-user/">http://www.bsdmap.com/2010/02/22/create-tunnel-user/</a></p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Flinux-ssh-user%2F&title=%E5%BB%BA%E7%AB%8B%E5%8F%AA%E4%BD%BF%E7%94%A8ssh%E2%80%9C%E8%BD%AC%E5%8F%91%E2%80%9D%E5%8A%9F%E8%83%BD%E7%9A%84%E7%B3%BB%E7%BB%9F%E8%B4%A6%E6%88%B7" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/linux-ssh-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>成功安装vpn的全自动管理网站pptpd+nginx+php+mysql+freeradius+daloradius</title>
		<link>http://www.mingshi.info/pptpd-nginx-php-mysql-freeradius-daloradius/</link>
		<comments>http://www.mingshi.info/pptpd-nginx-php-mysql-freeradius-daloradius/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 17:58:47 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[daloradius]]></category>
		<category><![CDATA[freeradius]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pptpd]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=763</guid>
		<description><![CDATA[忙了好几个晚上，参考了很多教程，我终于把pptpd+ngnix+mysql+freeradius+daloradius整合成功了。 现在可以通过web全自动管理vpn了。]]></description>
			<content:encoded><![CDATA[<p>忙了好几个晚上，参考了很多教程，我终于把pptpd+ngnix+mysql+freeradius+daloradius整合成功了。<br />
现在可以通过web全自动管理vpn了。</p>
<p><a rel="attachment wp-att-764" href="http://www.mingshi.info/pptpd-nginx-php-mysql-freeradius-daloradius/screenshot_1/"><img class="alignnone size-full wp-image-764" title="Screenshot_1" src="http://www.mingshi.info/wp-content/uploads/2010/04/Screenshot_1.png" alt="" width="600" /></a></p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fpptpd-nginx-php-mysql-freeradius-daloradius%2F&title=%E6%88%90%E5%8A%9F%E5%AE%89%E8%A3%85vpn%E7%9A%84%E5%85%A8%E8%87%AA%E5%8A%A8%E7%AE%A1%E7%90%86%E7%BD%91%E7%AB%99pptpd%2Bnginx%2Bphp%2Bmysql%2Bfreeradius%2Bdaloradius" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/pptpd-nginx-php-mysql-freeradius-daloradius/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>nginx主机配置ssl</title>
		<link>http://www.mingshi.info/nginx-ssl/</link>
		<comments>http://www.mingshi.info/nginx-ssl/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 14:20:53 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=738</guid>
		<description><![CDATA[1、可以通过浏览器认证的ssl证书 openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key 在当前目录下会发现server.csr server.key两个文件。 然后提供这两个文件，购买或者向startssl申请免费server.crt证书。 三个文件放在指定目录，如/root下 nginx配置文件例子如下： server { listen 443; server_name mydomain.com; index index.html index.htm index.php; root /web/www/test; ssl on; ssl_certificate /root/server.crt; ssl_certificate_key /root/server.key; } 重新启动nginx /usr/local/nginx/sbin/nginx -t kill -HUP `cat /usr/local/nginx/nginx.pid` startssl的证书需要添加根证书才可以被firefox信任，需要在配置conf文件前，添加根证书信息到server.crt wget http://www.startssl.com/certs/ca.pem wget http://www.startssl.com/certs/sub.class1.server.ca.pem cat ca.pem sub.class1.server.ca.pem >> server.crt 2、自制证书 openssl genrsa [...]]]></description>
			<content:encoded><![CDATA[<p>1、可以通过浏览器认证的ssl证书<br />
openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key</p>
<p>在当前目录下会发现server.csr    server.key两个文件。</p>
<p>然后提供这两个文件，购买或者向startssl申请免费server.crt证书。</p>
<p>三个文件放在指定目录，如/root下</p>
<p>nginx配置文件例子如下：</p>
<p>server<br />
{<br />
listen       443;<br />
server_name  mydomain.com;<br />
index index.html index.htm index.php;<br />
root  /web/www/test;<br />
ssl on;<br />
ssl_certificate  /root/server.crt;<br />
ssl_certificate_key /root/server.key;<br />
}</p>
<p>重新启动nginx</p>
<p>/usr/local/nginx/sbin/nginx -t<br />
kill -HUP `cat /usr/local/nginx/nginx.pid`</p>
<p>startssl的证书需要添加根证书才可以被firefox信任，需要在配置conf文件前，添加根证书信息到server.crt</p>
<p>wget http://www.startssl.com/certs/ca.pem<br />
wget http://www.startssl.com/certs/sub.class1.server.ca.pem<br />
cat ca.pem sub.class1.server.ca.pem >> server.crt</p>
<p>2、自制证书</p>
<p>openssl genrsa -out server.key 2048<br />
openssl req -new -x509 -key privkey.key -out server.crt -days 1095</p>
<p>nginx的配置同上。</p>
<p>3、强制使用https访问的nginx的conf配置</p>
<p>server<br />
{<br />
listen      443;<br />
listen 80;<br />
server_name servername;<br />
index index.html index.htm index.php;<br />
root  /web/test;<br />
ssl on;<br />
ssl_certificate /root/server.crt;<br />
ssl_certificate_key /root/server.key;<br />
error_page 497 &#8220;https://$host$uri?$args&#8221;;<br />
}</p>
<p>或者<br />
error_page 497 &#8220;https://$host$uri$is_args$args&#8221;;</p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fnginx-ssl%2F&title=nginx%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AEssl" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/nginx-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress mu在nginx里的rewrite规则</title>
		<link>http://www.mingshi.info/wordpress-mu-nginx-rewrite-rules/</link>
		<comments>http://www.mingshi.info/wordpress-mu-nginx-rewrite-rules/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 03:16:20 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[mu]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=736</guid>
		<description><![CDATA[1、域名泛解析； 2、nginx conf里rewrite规则 rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1; rewrite ^/.*(/wp-content/themes/.*\.(html&#124;jpg&#124;jpeg&#124;gif&#124;png&#124;ico&#124;css&#124;zip&#124;tgz&#124;gz&#124;rar&#124;bz2&#124;doc&#124;xls&#124;exe&#124;pdf&#124;ppt&#124;txt&#124;tar&#124;mid&#124;midi&#124;wav&#124;bmp&#124;rtf&#124;js))$ $1 last; if (!-e $request_filename) { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+?(/.*\.php)$ $1 last; rewrite ^ /index.php last; }]]></description>
			<content:encoded><![CDATA[<p>1、域名泛解析；<br />
2、nginx conf里rewrite规则<br />
<code></p>
<p>rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;<br />
rewrite ^/.*(/wp-content/themes/.*\.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js))$ $1 last;<br />
if (!-e $request_filename) {<br />
rewrite ^.+?(/wp-.*) $1 last;<br />
rewrite ^.+?(/.*\.php)$ $1 last;<br />
rewrite ^ /index.php last;<br />
}</p>
<p></code></p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fwordpress-mu-nginx-rewrite-rules%2F&title=Wordpress+mu%E5%9C%A8nginx%E9%87%8C%E7%9A%84rewrite%E8%A7%84%E5%88%99" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/wordpress-mu-nginx-rewrite-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xen vps centos安装pptpd vpn</title>
		<link>http://www.mingshi.info/xen-vps-centos-pptpd-vpn/</link>
		<comments>http://www.mingshi.info/xen-vps-centos-pptpd-vpn/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 12:50:03 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=642</guid>
		<description><![CDATA[1.安装ppp iptables服务 yum install -y ppp iptables 2.下载pptpd最新版本的rpm包 32位 wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm 64位 wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm 3.安装下载好的rpm包 32位 rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm 64位 rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm 4.设置pptpd解析用的dns vi /etc/ppp/options.pptpd ms-dns 8.8.8.8 ms-dns 8.8.4.4 5.设置拨号时候用的：用户名、拨号方式、用户密码、来源ip地址（用户名和密码可以随便设置，拨号方式只能填pptpd，来源ip用*号代表不限制） vi /etc/ppp/chap-secrets vpnuser pptpd vpnpassword * 6.设置本地ip和远端ip vi /etc/pptpd.conf localip 192.168.8.1 remoteip 192.168.8.2-30 7.设置ip转发状态为生效，然后立即载入（和第9步的NAT转发有关） vi /etc/sysctl.conf net.ipv4.ip_forward = 1 /sbin/sysctl -p 8.启动pptpd服务，并且设置为开机启动 /sbin/service pptpd [...]]]></description>
			<content:encoded><![CDATA[<p>1.安装ppp iptables服务<br />
yum install -y ppp iptables</p>
<p>2.下载pptpd最新版本的rpm包<br />
32位<br />
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm<br />
64位<br />
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm</p>
<p>3.安装下载好的rpm包<br />
32位<br />
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm<br />
64位<br />
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm</p>
<p>4.设置pptpd解析用的dns<br />
vi /etc/ppp/options.pptpd<br />
ms-dns 8.8.8.8<br />
ms-dns 8.8.4.4</p>
<p>5.设置拨号时候用的：用户名、拨号方式、用户密码、来源ip地址（用户名和密码可以随便设置，拨号方式只能填pptpd，来源ip用*号代表不限制）<br />
vi /etc/ppp/chap-secrets<br />
vpnuser pptpd vpnpassword *</p>
<p>6.设置本地ip和远端ip<br />
vi /etc/pptpd.conf<br />
localip 192.168.8.1<br />
remoteip 192.168.8.2-30</p>
<p>7.设置ip转发状态为生效，然后立即载入（和第9步的NAT转发有关）<br />
vi /etc/sysctl.conf<br />
net.ipv4.ip_forward = 1<br />
/sbin/sysctl -p</p>
<p>8.启动pptpd服务，并且设置为开机启动<br />
/sbin/service pptpd start<br />
chkconfig pptpd on</p>
<p>9.启动iptables规则，设置NAT转发，然后保存（iptables本身就是开机启动的，不需要再用chkconfig iptables on了）<br />
/sbin/service iptables start<br />
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.8.0/24 -j MASQUERADE<br />
service iptables save</p>
<p>10.在windows下本地连接里建立vpn拨号，输入用户名和密码，就连接上了。</p>
<p>Tips:</p>
<p>多ip服务器转发指定规则<br />
<code><br />
iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source 192.168.8.1<br />
</code></p>
<p>or<br />
<code><br />
iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source 服务器外网ip</code></p>
<p>如果iphone之类的设备能连上，访问网页或者youtube特别慢，需要做如下修改：</p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;">vi /etc/ppp/ip-up</span></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;">增加一行</span></p>
<pre>/sbin/ifconfig $1 mtu 1400</pre>
<p>或者修改iptables规则</p>
<pre>iptables -A FORWARD -p tcp --syn -s 192.168.8.0/24 -j TCPMSS --set-mss 1356</pre>
<p>1356的值可能需要自己调整，调节到能保证网络正常使用情况下的最大值。</p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fxen-vps-centos-pptpd-vpn%2F&title=xen+vps+centos%E5%AE%89%E8%A3%85pptpd+vpn" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/xen-vps-centos-pptpd-vpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>centos 安装Nginx+PHP+Mysql vps适用</title>
		<link>http://www.mingshi.info/vps-centos-%e5%ae%89%e8%a3%85nginx-php-mysql/</link>
		<comments>http://www.mingshi.info/vps-centos-%e5%ae%89%e8%a3%85nginx-php-mysql/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 05:18:46 +0000</pubDate>
		<dc:creator>Stanley</dc:creator>
				<category><![CDATA[网站技术]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.mingshi.info/?p=637</guid>
		<description><![CDATA[1,升级系统和安装相关的程序库 yum -y install yum-fastestmirror yum -y update yum -y install patch make gcc gcc-c++ gcc-g77 flex bison yum -y install libtool libtool-libs kernel-devel autoconf yum -y install libjpeg libjpeg-devel libpng libpng-devel yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel yum -y install glib2 glib2-devel bzip2 diff* yum -y install bzip2-devel ncurses ncurses-devel curl [...]]]></description>
			<content:encoded><![CDATA[<p>1,升级系统和安装相关的程序库</p>
<p><code><br />
yum -y install yum-fastestmirror<br />
yum -y update<br />
yum -y install patch make gcc gcc-c++ gcc-g77 flex bison<br />
yum -y install libtool libtool-libs kernel-devel autoconf<br />
yum -y install libjpeg libjpeg-devel libpng libpng-devel<br />
yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel<br />
yum -y install glib2 glib2-devel bzip2 diff*<br />
yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs<br />
yum -y install e2fsprogs-devel krb5 krb5-devel libidn libidn-devel<br />
yum -y install openssl openssl-devel vim-minimal<br />
yum -y install fonts-chinese scim-chewing scim-pinyin scim-tables-chinese<br />
</code></p>
<p>2,下载相关程序源码包<br />
<code><br />
wget http://catlnmp.googlecode.com/files/libiconv-1.13.1.tar.gz<br />
wget http://catlnmp.googlecode.com/files/libmcrypt-2.5.8.tar.gz<br />
wget http://catlnmp.googlecode.com/files/mhash-0.9.9.9.tar.gz<br />
wget http://catlnmp.googlecode.com/files/mcrypt-2.6.8.tar.gz<br />
wget http://catlnmp.googlecode.com/files/mysql-5.1.44.tar.gz<br />
wget http://php-fpm.org/downloads/php-5.2.13-fpm-0.5.13.diff.gz<br />
wget http://www.sfr-fresh.com/unix/www/php-5.2.13.tar.gz<br />
wget http://catlnmp.googlecode.com/files/memcache-2.2.5.tgz<br />
wget http://catlnmp.googlecode.com/files/PDO_MYSQL-1.0.2.tgz<br />
wget http://catlnmp.googlecode.com/files/eaccelerator-0.9.6.tar.bz2<br />
wget http://catlnmp.googlecode.com/files/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz<br />
wget http://catlnmp.googlecode.com/files/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz<br />
wget http://catlnmp.googlecode.com/files/pcre-8.01.tar.gz<br />
wget http://catlnmp.googlecode.com/files/nginx-0.7.65.tar.gz<br />
wget http://catlnmp.googlecode.com/files/phpMyAdmin-3.2.4-all-languages.tar.gz<br />
wget http://catlnmp.googlecode.com/files/index.php<br />
</code></p>
<p>3,开始安装,先安装PHP需要的库程序<br />
<code><br />
tar zxvf libiconv-1.13.1.tar.gz<br />
cd libiconv-1.13.1/<br />
./configure --prefix=/usr/local<br />
make<br />
make install<br />
cd ../</p>
<p>tar zxvf libmcrypt-2.5.8.tar.gz<br />
cd libmcrypt-2.5.8/<br />
./configure<br />
make<br />
make install<br />
/sbin/ldconfig<br />
cd libltdl/<br />
./configure --enable-ltdl-install<br />
make<br />
make install<br />
cd ../../</p>
<p>tar zxvf mhash-0.9.9.9.tar.gz<br />
cd mhash-0.9.9.9/<br />
./configure<br />
make<br />
make install<br />
cd ../</p>
<p>ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la<br />
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so<br />
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4<br />
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8<br />
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a<br />
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la<br />
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so<br />
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2<br />
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1<br />
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config</p>
<p>tar zxvf mcrypt-2.6.8.tar.gz<br />
cd mcrypt-2.6.8/<br />
./configure<br />
make<br />
make install<br />
cd ../<br />
</code></p>
<p>4,安装mysql<br />
<code><br />
tar -zxvf mysql-5.1.44.tar.gz<br />
cd mysql-5.1.44<br />
./configure --prefix=/usr/local/mysql --enable-assembler --with-charset=utf8 --with-extra-charsets=all --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --without-debug --with-mysqld-ldflags=-ltcmalloc_minimal --enable-thread-safe-client --enable-server<br />
make &#038;&#038; make install<br />
cd ../<br />
</code><br />
创建MySQL数据库,用默认的配置my.cnf<br />
<code><br />
groupadd mysql<br />
useradd -g mysql mysql<br />
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf<br />
/usr/local/mysql/bin/mysql_install_db --user=mysql<br />
chown -R mysql /usr/local/mysql/var<br />
chgrp -R mysql /usr/local/mysql/.<br />
</code><br />
添加Mysql启动服务,并且设置root密码<br />
<code><br />
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql<br />
chmod 755 /etc/init.d/mysql<br />
chkconfig --level 345 mysql on<br />
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf<br />
echo "/usr/local/lib" >>/etc/ld.so.conf<br />
ldconfig<br />
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql<br />
ln -s /usr/local/mysql/include/mysql /usr/include/mysql<br />
service mysql start<br />
/usr/local/mysql/bin/mysqladmin -u root password rootpass    //rootpass改为你需要的密码<br />
service mysql restart<br />
service mysql stop<br />
</code></p>
<p>5,安装PHP（FastCGI模式）<br />
<code><br />
tar zxvf php-5.2.13.tar.gz<br />
gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1<br />
cd php-5.2.13/<br />
./buildconf --force<br />
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-ftp --with-openssl --with-pear=/usr/local/php/pear --disable-debug<br />
make ZEND_EXTRA_LIBS='-liconv'<br />
make install<br />
cp php.ini-dist /usr/local/php/etc/php.ini<br />
cd ../<br />
</code></p>
<p>6,安装PHP扩展模块<br />
<code><br />
php守护神（可不装）<br />
wget -c http://catlnmp.googlecode.com/files/suhosin-0.9.29.tgz<br />
tar zxvf suhosin-0.9.29.tgz<br />
cd suhosin-0.9.29/<br />
/usr/local/php/bin/phpize<br />
./configure --with-php-config=/usr/local/php/bin/php-config<br />
make<br />
make install<br />
cd ../</p>
<p>tar zxvf memcache-2.2.5.tgz<br />
cd memcache-2.2.5/<br />
/usr/local/php/bin/phpize<br />
./configure --with-php-config=/usr/local/php/bin/php-config<br />
make<br />
make install<br />
cd ../</p>
<p>tar zxvf PDO_MYSQL-1.0.2.tgz<br />
cd PDO_MYSQL-1.0.2/<br />
/usr/local/php/bin/phpize<br />
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql<br />
make<br />
make install<br />
cd ../</p>
<p>tar jxvf eaccelerator-0.9.6.tar.bz2<br />
cd eaccelerator-0.9.6/<br />
/usr/local/php/bin/phpize<br />
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config<br />
make<br />
make install<br />
cd ../<br />
</code></p>
<p>安装Zend Optimizer,32位系统版本<br />
<code><br />
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz<br />
mkdir -p /usr/local/zend/<br />
cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/<br />
</code><br />
如果是64位系统,则<br />
<code><br />
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz<br />
mkdir -p /usr/local/zend/<br />
cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/<br />
</code></p>
<p>配置php.ini<br />
<code><br />
cat >>/usr/local/php/etc/php.ini< <EOF<br />
[Zend Optimizer]<br />
zend_optimizer.optimization_level=1<br />
zend_extension="/usr/local/zend/ZendOptimizer.so"<br />
EOF<br />
</code><br />
7,修改php.ini文件<br />
手工修改：查找/usr/local/php/etc/php.ini中的extension_dir = "./"<br />
修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"<br />
并在此行后增加以下几行，然后保存：<br />
extension = "memcache.so"<br />
extension = "pdo_mysql.so"</p>
<p>再查找 output_buffering = Off<br />
修改为output_buffering = On</p>
<p>自动修改:可执行以下shell命令,自动完成对php.ini文件的修改:<br />
<code><br />
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"\nextension = "memcache.so"\nextension = "pdo_mysql.so"\n#' /usr/local/php/etc/php.ini<br />
sed -i 's#output_buffering = Off#output_buffering = On#' /usr/local/php/etc/php.ini<br />
</code></p>
<p>8,配置eAccelerator加速PHP:<br />
创建缓存目录<br />
<code><br />
mkdir -p /usr/local/eaccelerator_cache<br />
</code><br />
配置php.ini<br />
<code><br />
cat >>/usr/local/php/etc/php.ini< <EOF<br />
[eaccelerator]<br />
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"<br />
eaccelerator.shm_size="1"<br />
eaccelerator.cache_dir="/usr/local/eaccelerator_cache"<br />
eaccelerator.enable="1"<br />
eaccelerator.optimizer="1"<br />
eaccelerator.check_mtime="1"<br />
eaccelerator.debug="0"<br />
eaccelerator.filter=""<br />
eaccelerator.shm_max="0"<br />
eaccelerator.shm_ttl="3600"<br />
eaccelerator.shm_prune_period="3600"<br />
eaccelerator.shm_only="0"<br />
eaccelerator.compress="1"<br />
eaccelerator.compress_level="9"<br />
eaccelerator.keys = "disk_only"<br />
eaccelerator.sessions = "disk_only"<br />
eaccelerator.content = "disk_only"<br />
EOF<br />
</code></p>
<p>9,创建www用户和组,以及主机需要的目录,日志目录<br />
<code><br />
groupadd www<br />
useradd -g www www<br />
mkdir -p /home/www<br />
chmod +w /home/www<br />
mkdir -p /home/www/logs<br />
chmod 777 /home/www/logs<br />
chown -R www:www /home/www<br />
</code></p>
<p>10,创建php-fpm配置文件<br />
<code><br />
rm -f /usr/local/php/etc/php-fpm.conf<br />
vi /usr/local/php/etc/php-fpm.conf<br />
</code><br />
输入以下内容,我设置开的进程是5个.需要更改进程数,可以修改5<br />
<code><br />
< ?xml version="1.0" ?><br />
<configuration><br />
	All relative paths in this config are relative to php's install prefix</p>
<section name="global_options">
		Pid file<br />
		<value name="pid_file">/usr/local/php/logs/php-fpm.pid</value><br />
		Error log file<br />
		<value name="error_log">/home/www/logs/php-fpm.log</value><br />
		Log level<br />
		<value name="log_level">notice</value><br />
		When this amount of php processes exited with SIGSEGV or SIGBUS ...<br />
		<value name="emergency_restart_threshold">10</value><br />
		... in a less than this interval of time, a graceful restart will be initiated.<br />
		Useful to work around accidental curruptions in accelerator's shared memory.<br />
		<value name="emergency_restart_interval">1m</value><br />
		Time limit on waiting child's reaction on signals from master<br />
		<value name="process_control_timeout">5s</value><br />
		Set to 'no' to debug fpm<br />
		<value name="daemonize">yes</value><br />
	</section>
<p>	<workers></p>
<section name="pool">
			Name of pool. Used in logs and stats.<br />
			<value name="name">default</value><br />
			Address to accept fastcgi requests on.<br />
			Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'<br />
			<value name="listen_address">127.0.0.1:9000</value><br />
			<value name="listen_options"><br />
				Set listen(2) backlog<br />
				</value><value name="backlog">-1</value><br />
				Set permissions for unix socket, if one used.<br />
				In Linux read/write permissions must be set in order to allow connections from web server.<br />
				Many BSD-derrived systems allow connections regardless of permissions.<br />
				<value name="owner">www</value><br />
				<value name="group">www</value><br />
				<value name="mode">0666</value></p>
<p>			Additional php.ini defines, specific to this pool of workers.<br />
			<value name="php_defines"><br />
		<!--		<value name="sendmail_path">/usr/sbin/sendmail -t -i</value>		--><br />
		<!--		<value name="display_errors">0								--></p>
<p>			Unix user of processes<br />
		<value name="user">www</value><br />
			Unix group of processes<br />
		<value name="group">www</value><br />
			Process manager settings<br />
			<value name="pm"><br />
				Sets style of controling worker process count.<br />
				Valid values are 'static' and 'apache-like'<br />
				</value><value name="style">static</value><br />
				Sets the limit on the number of simultaneous requests that will be served.<br />
				Equivalent to Apache MaxClients directive.<br />
				Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi<br />
				Used with any pm_style.<br />
				<value name="max_children">5</value><br />
				Settings group for 'apache-like' pm style<br />
				<value name="apache_like"><br />
					Sets the number of server processes created on startup.<br />
					Used only when 'apache-like' pm_style is selected<br />
					</value><value name="StartServers">20</value><br />
					Sets the desired minimum number of idle server processes.<br />
					Used only when 'apache-like' pm_style is selected<br />
					<value name="MinSpareServers">5</value><br />
					Sets the desired maximum number of idle server processes.<br />
					Used only when 'apache-like' pm_style is selected<br />
					<value name="MaxSpareServers">35</value></p>
<p>			The timeout (in seconds) for serving a single request after which the worker process will be terminated<br />
			Should be used when 'max_execution_time' ini option does not stop script execution for some reason<br />
			'0s' means 'off'<br />
			<value name="request_terminate_timeout">0s</value><br />
			The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file<br />
			'0s' means 'off'<br />
			<value name="request_slowlog_timeout">0s</value><br />
			The log file for slow requests<br />
			<value name="slowlog">logs/slow.log</value><br />
			Set open file desc rlimit<br />
			<value name="rlimit_files">65535</value><br />
			Set max core size rlimit<br />
			<value name="rlimit_core">0</value><br />
			Chroot to this directory at the start, absolute path<br />
			<value name="chroot"></value><br />
			Chdir to this directory at the start, absolute path<br />
			<value name="chdir"></value><br />
			Redirect workers' stdout and stderr into main error log.<br />
			If not set, they will be redirected to /dev/null, according to FastCGI specs<br />
			<value name="catch_workers_output">yes</value><br />
			How much requests each process should execute before respawn.<br />
			Useful to work around memory leaks in 3rd party libraries.<br />
			For endless request processing please specify 0<br />
			Equivalent to PHP_FCGI_MAX_REQUESTS<br />
			<value name="max_requests">102400</value><br />
			Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.<br />
			Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)<br />
			Makes sense only with AF_INET listening socket.<br />
			<value name="allowed_clients">127.0.0.1</value><br />
			Pass environment variables like LD_LIBRARY_PATH<br />
			All $VARIABLEs are taken from current environment<br />
			<value name="environment"><br />
				</value><value name="HOSTNAME">$HOSTNAME</value><br />
				<value name="PATH">/usr/local/bin:/usr/bin:/bin</value><br />
				<value name="TMP">/tmp</value><br />
				<value name="TMPDIR">/tmp</value><br />
				<value name="TEMP">/tmp</value><br />
				<value name="OSTYPE">$OSTYPE</value><br />
				<value name="MACHTYPE">$MACHTYPE</value><br />
				<value name="MALLOC_CHECK_">2</value></p>
</section>
<p>	</workers><br />
</configuration><br />
</code></p>
<p>11,启动php-cgi进程,监听127.0.0.1的9000端口,进程数为5,用户为www<br />
<code><br />
ulimit -SHn 65535<br />
/usr/local/php/sbin/php-fpm start<br />
</code><br />
注:/usr/local/php/sbin/php-fpm还有其他参数,包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重启php-cgi,重新加载配置文件使用reload</p>
<p>12,安装Nginx<br />
<code><br />
tar zxvf pcre-8.01.tar.gz<br />
cd pcre-8.01/<br />
./configure<br />
make &#038;&#038; make install<br />
cd ../</p>
<p>tar zxvf nginx-0.7.65.tar.gz<br />
cd nginx-0.7.65/<br />
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module<br />
make &#038;&#038; make install<br />
cd ../<br />
</code></p>
<p>13,创建Nginx配置文件<br />
<code><br />
mkdir -p /usr/local/nginx/conf/servers<br />
rm -f /usr/local/nginx/conf/nginx.conf<br />
vi /usr/local/nginx/conf/nginx.conf<br />
</code><br />
输入以下内容:<br />
<code><br />
user  www www;<br />
worker_processes 1;<br />
error_log  /home/www/logs/nginx_error.log  crit;<br />
pid        /usr/local/nginx/nginx.pid;<br />
#Specifies the value for maximum file descriptors that can be opened by this process.<br />
worker_rlimit_nofile 65535;<br />
events<br />
	{<br />
		use epoll;<br />
		worker_connections 65535;<br />
	}<br />
http<br />
	{<br />
		include       mime.types;<br />
		default_type  application/octet-stream;<br />
		#charse  gb2312;<br />
		server_names_hash_bucket_size 128;<br />
		client_header_buffer_size 128k;<br />
		large_client_header_buffers 4 256k;<br />
		client_max_body_size 8m;<br />
		sendfile on;<br />
		tcp_nopush     on;<br />
		keepalive_timeout 60;<br />
		tcp_nodelay on;</p>
<p>		fastcgi_connect_timeout 300;<br />
		fastcgi_send_timeout 300;<br />
		fastcgi_read_timeout 300;<br />
		fastcgi_buffer_size 64k;<br />
		fastcgi_buffers 4 64k;<br />
		fastcgi_busy_buffers_size 128k;<br />
		fastcgi_temp_file_write_size 128k;</p>
<p>		gzip on;<br />
		gzip_min_length  1k;<br />
		gzip_buffers     4 16k;<br />
		gzip_http_version 1.1;<br />
		gzip_comp_level 9;<br />
		gzip_types       text/plain application/x-javascript text/css application/xml;<br />
		gzip_vary on;<br />
		output_buffers   4 32k;<br />
		postpone_output  1460;</p>
<p>		#limit_zone  crawler  $binary_remote_addr  10m;	</p>
<p>server<br />
	{<br />
		listen       80;<br />
		server_name vps.imcat.in;<br />
		index index.html index.htm index.php;<br />
		include location.conf;<br />
		root  /home/www;<br />
	}<br />
		include servers/*;<br />
}<br />
</code><br />
14,在/usr/local/nginx/conf/目录中创建location.conf文件：<br />
<code><br />
vi /usr/local/nginx/conf/location.conf<br />
</code><br />
输入内容:<br />
<code><br />
location ~ .*\.(php|php5)?$<br />
	{<br />
	#fastcgi_pass  unix:/tmp/php-cgi.sock;<br />
	fastcgi_pass  127.0.0.1:9000;<br />
	fastcgi_index index.php;<br />
	include fastcgi.conf;<br />
	}</p>
<p>location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$<br />
	{<br />
		expires      30d;<br />
	}</p>
<p>location ~ .*\.(js|css)?$<br />
	{<br />
		expires      12h;<br />
	}<br />
</code><br />
多站点管理,可以在/usr/local/nginx/conf/servers目录添加配置文件,格式为:<br />
<code><br />
vi /usr/local/nginx/conf/servers/yourwebsite.conf<br />
</code><br />
内容:<br />
<code><br />
server</p>
<p>	{<br />
		listen       80;<br />
		server_name yourdomain;<br />
		index index.html index.htm index.php;<br />
		root  /home/www/yourwebsite;<br />
	}<br />
</code><br />
请注意,我是没有开启Nginx日志记录功能的.<br />
启动Nginx:<br />
<code><br />
ulimit -SHn 65535<br />
/usr/local/nginx/sbin/nginx<br />
</code><br />
放个探针看看<br />
<code><br />
mv index.php /home/www/<br />
</code><br />
访问你的IP看看吧!</p>
<p>15,安装phpMyAdmin,管理Mysql数据库<br />
<code><br />
tar zxvf phpMyAdmin-3.2.4-all-languages.tar.gz<br />
mv phpMyAdmin-3.2.4-all-languages /home/www/phpmyadmin<br />
</code></p>
<p>16,配置开机自动启动Nginx + PHP<br />
<code><br />
echo "ulimit -SHn 65535" >>/etc/rc.local<br />
echo "/usr/local/php/sbin/php-fpm start" >>/etc/rc.local<br />
echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local<br />
</code></p>
<p>17,优化Linux内核参数(我只在Xen VPS用过,Openvz VPS失败,慎用,可不操作。)<br />
<code><br />
vi /etc/sysctl.conf<br />
</code><br />
在最后加入<br />
<code><br />
# Add<br />
net.ipv4.tcp_max_syn_backlog = 65536<br />
net.core.netdev_max_backlog =  32768<br />
net.core.somaxconn = 32768</p>
<p>net.core.wmem_default = 8388608<br />
net.core.rmem_default = 8388608<br />
net.core.rmem_max = 16777216<br />
net.core.wmem_max = 16777216</p>
<p>net.ipv4.tcp_timestamps = 0<br />
net.ipv4.tcp_synack_retries = 2<br />
net.ipv4.tcp_syn_retries = 2</p>
<p>net.ipv4.tcp_tw_recycle = 1<br />
#net.ipv4.tcp_tw_len = 1<br />
net.ipv4.tcp_tw_reuse = 1</p>
<p>net.ipv4.tcp_mem = 94500000 915000000 927000000<br />
net.ipv4.tcp_max_orphans = 3276800</p>
<p>#net.ipv4.tcp_fin_timeout = 30<br />
#net.ipv4.tcp_keepalive_time = 120<br />
net.ipv4.ip_local_port_range = 1024  65535<br />
</code><br />
使配置立即生效：<br />
<code><br />
/sbin/sysctl -p<br />
</code></p>
<p>18,需要安装ftp的,可以简单安装vsftpd应用:<br />
<code><br />
yum -y install vsftpd<br />
/etc/init.d/vsftpd start<br />
chkconfig --level 345 vsftpd on<br />
</code></p>
<p>19,请务必更改www用户密码:<br />
<code><br />
passwd www<br />
</code></p>
<p>zt from imcat.in</p>
<p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Fwww.mingshi.info%2Fvps-centos-%25e5%25ae%2589%25e8%25a3%2585nginx-php-mysql%2F&title=centos+%E5%AE%89%E8%A3%85Nginx%2BPHP%2BMysql+vps%E9%80%82%E7%94%A8" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mingshi.info/vps-centos-%e5%ae%89%e8%a3%85nginx-php-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

