标签存档: Nginx - 第2页

为DirectAdmin (DA)面板添加Nginx支持

DirectAdmin (DA)面板默认跟Cpanel(CP)面板都是使用Apache的,Apache虽然对PHP支持好,也方便添加删除虚拟主机,但是如果在前端添加一个Nginx的话,可以加速静态内容,如图片,CSS等.

安装方法好很简单:

wget http://icodex.org/dl/directadmin/install.sh
chmod 755 install.sh
./install.sh

卸载方法:

wget http://icodex.org/dl/directadmin/uninstall.sh
chmod 755 uninstall.sh
./uninstall.sh

就可以了!

继续阅读 »

Nginx rewrite使用if (!-f $request_filename) 时,注意事项

今天为了实现一个功能,检查某个目录目录下的图片如果不存在,那么就自动显示另一个目录下的相同文件名,发现怎么也检查不对,老是文件不存在.后来才发现:

当在Nginx使用rewrite检查文件是否存在时,一定要记得设置root的值,不然Nginx会以默认路径去检查文件,也就永远都是找不到文件的.加上root /var/www/xxx.com;就OK了.

继续阅读 »

Nginx服务管理脚本

Nginx很好用,可是它却没有自带的管理脚本,像server nginx start这些功能默认都是没有的.

这里收集了一个Nginx管理脚本,有了它,你就可以service nginx start|restart|reload了.

管理脚本代码如下:

继续阅读 »

如何查看Nginx的运行状态:nginx_status

如何查看Nginx的运行状态信息?很简单,只要你在编译安装Nginx时添加了ngx_http_stub_status_module模块(一般都有的),然后
在配置文件里添加如下配置(高亮部分):

server {
listen 80;
server_name xxx;

location /status
{
stub_status on;
access_log off;
error_log off;
}

}

从浏览器中打开:http://www.yourdomain.com/status 可以看到类似以下的内容:

继续阅读 »

Nginx每日切割日志

Ngninx运行时间长了,日志文件会变得很大,需要定期切割。下面是切割Nginx日志的脚本:

cut_nginx_log.sh

==========================================

logs_path=”/dev/shm/”
logfiles=”mufu_access.log”

server=`hostname`
date=$(date -d “yesterday” +”%Y%m%d”)
save_path=/usr/local/nginx/logs/$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)
mkdir -p ${save_path}

for log in ${logfiles};
do mv ${logs_path}/${log} ${save_path}/${log}.${date}.${server};
done

/sbin/service nginx reload
#if [ -f /usr/local/nginx/logs/nginx.pid ]; then
#kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
#fi

for log in ${logfile};
do gzip ${save_path}/${log}.${date}.${server};
done

================================================

cronabe -e

0 0 * * * /root/cut_nginx_log.sh

保存退出,完成!

继续阅读 »

WordPress+Nginx+proxy取得真实IP

如果WordPress运行在Nginx作为proxy代理的后端,那么,WP会默认取得$_SERVER[‘remote_addr’]的IP地址.其实这个IP地址是前端Nginx的IP地址,是不对的.如何才能使WordPress取得真实IP地址呢?方法很简单,有几种,下面说下两种:

1.使用HttpRealIpModule模块:HTTP_X_REAL_IP.
HttpRealIpModule模块不会默认安装到Nginx中.您需要配置Nginx,添加–with-http_realip_module选项重新编译安装一次Nginx.

然后在Nginx Proxy前端添加:
proxy_set_header X-Real-IP $remote_addr;

重新加载Nginx的配置:
/usr/local/nginx/sbin/nginx -s reload

修改WordPress根目录下的wp-config.php:
在第二行添加:
if (isset($_SERVER[‘HTTP_X_REAL_IP’])) {
$_SERVER[‘REMOTE_ADDR’] = $_SERVER[‘HTTP_X_REAL_IP’];
}

保存退出,完成!

2.使用HTTP_X_FORWARDED_FOR变量

不用安装其它模块.

然后在Nginx Proxy前端添加:
proxy_set_header X-Forwarded-For $remote_addr;

重新加载Nginx的配置:
/usr/local/nginx/sbin/nginx -s reload

修改WordPress根目录下的wp-config.php:
在第二行添加:
if (isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])) {
$ips = explode(‘,’, $_SERVER[‘HTTP_X_FORWARDED_FOR’]);
$_SERVER[‘REMOTE_ADDR’] = $ips[0];
}

保存退出,完成!

现在试在WP中添加一个新评论,看下是不是使用了真实IP了?

继续阅读 »

Nginx+Memcached高速优化DedeCMS之程序修改

之前已经说到,本方案其它是利用nginx的rewrite伪静态功能结合Memcache来优化的.DedeCMS原PHP预览程序的翻页功能是使用动态的(view.php?aid=xxx&PageNo=xxx),主要是为了适应DedeCMS的这个问题.也为了尽可以少地修改DedeCMS原来的程序,我使用在以原程序为副本的基础上新建程序.如view2.php对应vew.php等.

文件内容不多细说.

下面提供打包下载,共6个程序:

继续阅读 »

Nginx+Memcached高速优化DedeCMS之服务器配置

接前日的Nginx+Memcached高速优化DedeCMS之软件安装软件安装.这些配置包括:文章内页,文章列表页,栏目主页,网站首页,图片,CSS等。这些资源都会被缓存到Memcache中,以达到最快的打开速度,最小的CPU使用。
下面贴出Nginx+Memcache高度优化的详细配置:

user www;
worker_processes 4;
……

继续阅读 »

Nginx+Memcached高速优化DedeCMS之软件安装

本编文章说下如何在Linux系统(CentOS 5.x)利用Nginx对Memcache的支持来高度优化dedeCMS.

虽然默认情况下DEDECMS已经支持Memcache作为高速缓存.

但是DedeCMS只支持SetCache()和getCache()方法.我觉得还不够好.一般情况下,dedeCMS生成纯静态的html页面,已经不错了,但是,当一个大站,有几万上十万文章,同时又打开自动关键词和随机文章的情况下,更新一次全站,简直是个噩梦。而且使用本Nginx+Memcache后,文章内容是保存在系统内存中的,每个文章在内存中又有一个有效时间,实现定时自动更新。而且Nginx是直接从内存中提然后显示文章内容,这样比从硬盘中读取要快,特别是在网站访问量很大,IO读繁忙时,效果更明显。

继续阅读 »

使用google-perftools优化nginx在高并发时的性能完整教程[第二版]

Nginx因为它小巧,占用资源少,非常适合Web站点,越来越多的Linux+Nginx+php+MySQL的站点.在近年逐渐有超过Apache和Lighttpd的趋势.

如果使用googler开发的google-perftools优化Nginx和MySQL的内存管理,性能将会有一定程度的提升.特别是对高并发下的服务器,效果更明显.本教程仅适用于Linux,不适用于Windows.

下面说说如果安装google-perftools,并使Nginx和MySQL支持google-perftools.

今天首先介绍如何优化Nginx:

继续阅读 »

第 2 页,共 3 页123