1.首先安装依赖包(依赖包有点多,我们采用yum的方式来安装)
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
2.将nginx-1.7.6.tar.gz上传到/usr/local/下
tar -zxvf nginx-1.7..tar.gz
3.编译
cd nginx-1.7.
./configure
make
make install
4.启动
## 检查配置文件是否正确
# /usr/local/nginx-1.6/sbin/nginx -t
# ./sbin/nginx -V # 可以看到编译选项 ## 启动、关闭
# ./sbin/nginx # 默认配置文件 conf/nginx.conf,-c 指定
# ./sbin/nginx -s stop
或 pkill nginx ## 重启,不会改变启动时指定的配置文件
# ./sbin/nginx -s reload
或 kill -HUP `cat /usr/local/nginx-1.6/logs/nginx.pid`
5.将nginx添加到服务中
直接复制nginx 文件到/etc/init.d/ 目录下即可
cp nginx /etc/inin.d/
然后可以通过service 的指令进行启动,由于是使用了nginx的脚本,所以指令的参数有些不同
启动: service nginx
停止: service nginx -s stop
重启: service nginx -s reload
自己编写启动脚本:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: -
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid # Source function library.
. /etc/rc.d/init.d/functions # Source networking configuration.
. /etc/sysconfig/network # Check that networking is up.
[ "$NETWORKING" = "no" ] && exit nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx start() {
[ -x $nginx ] || exit
[ -f $NGINX_CONF_FILE ] || exit
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq ] && touch $lockfile
return $retval
} stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq ] && rm -f $lockfile
return $retval
killall - nginx
} restart() {
configtest || return $?
stop
sleep
start
} reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
} force_reload() {
restart
} configtest() {
$nginx -t -c $NGINX_CONF_FILE
} rh_status() {
status $prog
} rh_status_q() {
rh_status >/dev/null >&
} case "$1" in
start)
rh_status_q && exit
$
;;
stop)
rh_status_q || exit
$
;;
restart|configtest)
$
;;
reload)
rh_status_q || exit
$
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit
esac
6.加入开机启动
. vi /etc/rc.local . 在文件加入一行:/etc/init.d/nginx start
7.配置静态文件服务
location ^~ /news_file {
alias /data/attachment/DB40_file/news_file/;
expires 30d; #设置浏览器过期时间
#目录或者文件不存在
if (!-e $request_filename){
return ;
}
#proxy_store on; #开启缓存机制
#proxy_store_access user:rw group:rw all:rw; #缓存读写规则
#proxy_temp_path b; #存放静态文件的缓存目录
#include proxy.conf; #外联proxy理的详细配置如proxy_set_header, client_max_body_size ....
}
8.配置访问的黑白名单
# 屏蔽单个ip访问 deny IP;
# 允许单个ip访问 allow IP;
# 屏蔽所有ip访问 deny all;
# 允许所有ip访问 allow all;
#屏蔽整个段即从123.0.0.1到123.255.255.254访问的命令 deny 123.0.0.0/
#屏蔽IP段即从123.45.0.1到123.45.255.254访问的命令 deny 124.45.0.0/
#屏蔽IP段即从123.45.6.1到123.45.6.254访问的命令 deny 123.45.6.0/
一个实例:
server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; allow 121.15.210.97; --允许单个IP访问
allow 172.18.5.0/; --允许172.18.5.0 - 172.18.5.254 IP段访问
deny all; --默认禁止所有IP访问 location / {
root html;
index index.html index.htm;
}