早在去年我就介绍过《DirectAdmin 安装 Nginx 前端》的方法,今天我要说一种更简单的。
前几天说的安装 Varnish 的缓存功能可以很大程度的提高了 PHP 的执行能力,但是除了使用 Varnish 做前端之外、Nginx 也是非常优秀的,甚至比 Varnish 更加优秀。
注意事项:
安装了 Varnish 的请不要用相同的方法来安装 Nginx 前端。
教程适用于 RHCL/CentOS 类系统。
一、使用官方源:
如果你是 CentOS 5 的话,请执行如下命令:
rpm -ivh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm
如果你是 CentOS 6 的话,请执行如下命令:
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
源处理好了就可以直接 yum 安装了:
yum -y install nginx
二、处理各种配置:
如下第 2 行命令有“1.2.3.4”请把它改为你服务器的 IP:
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf sed -i 's/<VirtualHost 1.2.3.4:80>/<VirtualHost 127.0.0.1:8080 1.2.3.4:8080>/g' /etc/httpd/conf/extra/httpd-vhosts.conf sed -i 's/80/8080/g' /etc/httpd/conf/ips.conf echo "NameVirtualHost 127.0.0.1:8080" > /etc/httpd/conf/ips.conf mkdir /usr/local/directadmin/data/templates/custom cp -p /usr/local/directadmin/data/templates/virtual_host2.conf /usr/local/directadmin/data/templates/custom/virtual_host2.conf cp -p /usr/local/directadmin/data/templates/virtual_host2_sub.conf /usr/local/directadmin/data/templates/custom/virtual_host2_sub.conf cp -p /usr/local/directadmin/data/templates/redirect_virtual_host.conf /usr/local/directadmin/data/templates/custom/redirect_virtual_host.conf sed -i 's/<VirtualHost |IP|:|PORT_80| |MULTI_IP|>/<VirtualHost 127.0.0.1:8080 |IP|:8080 |MULTI_IP|>/g' /usr/local/directadmin/data/templates/custom/* echo > /etc/nginx/conf.d/default.conf echo "nginx=ON" >> /usr/local/directadmin/data/admin/services.status
三、安装 rpaf 获取真实 IP:
Apache 2.2 安装方法:
wget https://cdn.zntec.cn/store/software/rpaf/mod_rpaf-0.6.tar.gz tar xzf mod_rpaf-0.6.tar.gz cd mod_rpaf-0.6 apxs -cia mod_rpaf-2.0.c
Apache 2.4 安装方法:
wget https://cdn.zntec.cn/store/software/rpaf/mod_rpaf-0.6.tar.gz tar xzf mod_rpaf-0.6.tar.gz cd mod_rpaf-0.6 yum -y install git git clone git://gist.github.com/2716030.git patch mod_rpaf-2.0.c 2716030/mod_rpaf-2.0.c.patch apxs -cia mod_rpaf-2.0.c
安装好 rpaf 之后要修改 http 引入的配置:
vi /etc/httpd/conf/extra/httpd-includes.conf
在最底下加入如下代码:
#For the rpaf <IfModule mod_rpaf-2.0.c> RPAFenable On RPAFsethostname On RPAFproxy_ips 127.0.0.1 RPAFheader X-Forwarded-For </IfModule>
最后让 DirectAdmin 更新一下配置:
echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue
最后步骤:重启 Apache 与 Nginx,并设置开机启动,然后配置一下规则。
service httpd restart service nginx start chkconfig nginx on
这 4 个步骤都完毕之后,现在我们来修改 Nginx 规则:
vi /etc/nginx/conf.d/default.conf
这里给出一个我的例子:
server { listen 1.2.3.4:80; server_name $http_host; location / { proxy_pass http://127.0.0.1:8080; proxy_redirect off; if ($request_filename ~* .*\.(gif|jpg|jpeg|png|bmp|swf)$) { expires 30d; } if ($request_filename ~ .*\.(js|css)?$) { expires 12h; } proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; access_log /var/log/http_access.log; } }
更多的 nginx 规则可以在我博客或各种搜索引擎搜索一下,例如缓存、限制并发啥的。而且由于是反代的、不需要使用类似上次发出来那个自动安装的一样一个个生成规则。文章中所有的 1.2.3.4 都改为你的公网 IP,一些“云主机”多内网或网卡无外网 IP 的就把这个改为内网 IP。
小结
还是 Nginx 好用,过几天考试了,考完没考到好点的学校就读社会大学了。
目前有34条回应
Comment
Trackback
Loading ....
- 本篇文章没有Trackback
那么SSL 443port呢?
基本需要用到 SSL 的都是动态支付页之类的吧,这类页面不缓存最好 。。不过也可以一个个加规则反带 443 端口,不过一个 SSL 证书一个规则
--with-http_realip_module
说的就是NGINX这个模块
编译安装,加上这句。
安装之前建议 yum remove nginx -y 先,另外的就是 yum 的默认好像就带了 realip 模块了 。。你试试看
如果安装了,想单独配置NGINX模块的话昨配置
这里面的nginx例子 配置 是对 da 所有用户生效 还得每个用户得单独配置
是全部,直接反代整个端口
我来要纸巾
去年的时候有折腾过nginx,不过那时安装后,创建的ssh账户,没权限,各种命令都无法使用。。。
纳尼,正常情况下应该不会吧,看看是不是新建用户的语法错了,useradd 就可以新建了,可能是加了一些参数新建的用户、所以没权限
@Tomas: 就是正常创建的,
面板自带的那个空间,开通附有ssh权限的空间。。。
以前的帖子 http://www.hostloc.com/thread-210746-1-1.html 最后不了了之。。
是不是 /bin 下的那些权限都给的太低了,所以其他用户执行不了 。。
@Tomas: 当时yzs.me的博客也帮我看了下,不过问题也没有解决,我就当是nginx一键脚本问题了,
奇葩了真是,检查了下,用户的shell正常,PATH正常,二进制文件权限正常,bash_*那些也正常,即使用绝对路径执行那些文件也不行,这种情况我也没遇到过,
叼炸了 。。Extreme 也解决不了 。。额 。。看来我帮不到你 。。
不过你用 yum 安装的话就不会涉及到脚本啥的,应该不会有问题。~
對於 nginx 502 Bad Gateway 的話其實主因是?
后端问题,没反代到 。。
果断表示用cp去了。。。
你们这一些大土豪,求送 CP
@Tomas: 你推的那家带的。。。
土豪。。看来越来越多人做主机了
@Tomas: 只是为了给妹子弄个更强大的面板
土豪,目测妹子不少 。。
@Tomas: 我说零你信么?
我不信,那你说给妹子换面板那妹子呢
用不起正版DirectAdmin的路过,折腾不起开心版DirectAdmin的也路过
正版授权的话其实也不贵,当然、在官网一套一套买的话是挺高价的,可以尝试去旗鱼等口碑较好的地方买,大约 ¥400 内一套。
开心版的话注意使用场合(地区)就没关系了,可能是他没有图形界面所以很多人懒得搞 。。不过事实上是主机商入门或精通的不错选择~
最重要的,DirectAdmin 对于 cPanel 的授权费用来说,更为廉价。
@Tomas: 大陆抗投诉 😛
的确 。。投诉了也没人管 。。。
这是量产文章的节奏么。。。。。。。。
被你发现了 。。
不过这也是为了给某人灵感 。。有人问我怎么搞 LAMPNV 主机来着 。。Nginx 和 Varnish 这两篇文章结合一下就搞出来了
@Tomas: 灵感?我看是灵肛。
沙发...
欢迎新访客~沙发送纸巾~~