某储备粮的“学习笔记” - nginx http://blog.gregwym.info/tag/nginx/ CentOS下用yum搭建LNMP服务器 http://blog.gregwym.info/setup-lnmp-using-yum-under-centos.html 2012-04-05T22:07:00+08:00 CentOS下搭服务器也折腾好几次了, 每次都知道个大概, 具体repo的地址什么的还都要现找, 实在不效率, 干脆整理记录下来.yum安装比较简单快捷, 但默认配置的安全和性能方面不如LNMP一键安装包. 推荐生产环境用一键安装包如果你在国内的话, 先替换CentOS-Base.repomv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 如果是CentOS 5.* wget http://mirrors.163.com/.help/CentOS5-Base-163.repo # 如果是CentOS 6.* wget http://mirrors.163.com/.help/CentOS6-Base-163.repo yum makecache 如果之前有apache, 卸载yum remove httpd 更新软件到最新版本yum -y update 安装源# 如果是CentOS 5.* rpm -ivh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm rpm -ivh http://fedora.mirror.nexicom.net/epel/5/i386/epel-release-5-4.noarch.rpm rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm # 如果是CentOS 6.* rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm rpm -ivh http://fedora.mirror.nexicom.net/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 编辑启用remi源vi /etc/yum.repos.d/remi.repo # 将[remi]下的enabled=0改为enabled=1 # 按esc # :x回车 执行安装, 根据需要增减要安装的php模块yum install nginx mysql mysql-server php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy 启动nginx, php-fpm, mysqldservice nginx restart service php-fpm restart service mysqld restart 设置自动启动chkconfig nginx on chkconfig php-fpm on chkconfig mysqld on mysql密码设置mysql_secure_installation 至于目录权限管理什么的, 就不写了.niginx配置文件在/etc/nginx/nginx.confphp-fpm配置文件在/etc/php-fpm.confphp配置文件/etc/php.inimysql配置文件/etc/my.cnf参考文章:http://www.ppkj.net/2011/11/18/centos6-yum-%E6%90%AD%E5%BB%BAlinux-nginx-php-mysql-lnmp/http://www.centos.bz/2011/03/yum-install-nginx-mysql-php-fastcgi-lnmp/ Nginx设置301重新定向 http://blog.gregwym.info/nginx-she-zhi-301-chong-xin-ding-xiang.html 2011-04-06T03:25:52+08:00 入了个新的域名, 打算做点小应用试试.原来的Nginx设定里, 子域名会自动对应子目录. 如果碰巧有人输入了我为新域名设定的目录名, 就会造成域名不统一的情况出现...所以研究了下301定向, 发现Nginx的设置真的好简单.在nginx.conf里的自动对应规则之前, 加入下边的内容server { server_name www.xxxx.com; rewrite ^(.*) http://xxxx.com$1 permanent; } 继续去整理240的内容了... Nginx二级域名自动或手动匹配子目录 http://blog.gregwym.info/nginx-er-ji-yu-ming-zi-dong-huo-shou-dong-pi-pei-zi-mu-lu.html 2011-03-31T00:23:51+08:00 说写就写.刚刚搞定了Nginx二级域名的自动rewrite, 只要把自动匹配的配置放在几个特殊server定义之前, 就不会相互影响, 还挺简单的.需要在nginx.conf里修改http里增加新的server部分先说说标准的二级域名rewrite怎么写:server { listen 80; server_name sub.domain.com; index index.html index.htm index.php; root /***/wwwroot/sub_domain; include other.conf; location ~ .*\.(php|php5)?$ { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log off; } 基本上在server_name里写上地址, root里写上对应的目录就万事大吉了然后是自动匹配的部分, 区别只在server_name和root的解析上:server_name *.domain.com; set $subdomain "default"; if ( $host ~* (.*)\.(.*)\.(.*)) { set $subdomain $1; } root /***/wwwroot/$subdomain; 第一篇结束...哈哈注: 以上配置是以Lnmp一键安装包自动生成的配置文件为基础修改的