1.系统环境
操作系统:centos5.2
文件服务器只是提供静态文件服务
2.安装nginx
这是一种正则表达式的包,一般现在最新的,地址在:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ ;
,使用下面命令下载编译和安装 PCRE 包:
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz # ./configure # make # make install |
)
如果报错:error: no acceptable C compiler found in $PATH ,则直接 yum install gcc-c++ 安装gcc编译器
#wget http://nginx.org/download/nginx-1.7.2.tar.gz
#tar -zxvf nginx-1.7.2.tar.gz
然后进入到 cd nginx-1.7.2,
shell>./configure --prefix=/usr/local/nginx --with-http_stub_status_module
shell>make
shell>make install
./configure 时报错是:error: the HTTP gzip module requires the zlib library.
用命令查看rpm -qa |grep zlib ,已经安装其实我们需要的是安装这个
用命令 yum -y install zlib-devel
其中参数 --with-http_stub_status_module
是为了启用 nginx 的 NginxStatus 功能,用来监控 Nginx 的当前状态。
检查是否安装成功
#cd /usr/local/nginx/sbin
#./nginx -t
显示:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
则表示安装成功!
安装成功后 /usr/local/nginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中 Nginx 的配置文件存放于 conf/nginx.conf,Nginx 只有一个程序文件位于 sbin 目录下的 nginx 文件。确保系统的 80 端口没被其他程序占用,运行 sbin目录下运行./nginx 命令来启动 Nginx,打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
注:在64位系统上启动时有可能报如下错误:
解决办法如下:
3.配置nginx
编辑/usr/local/nginx/conf文件
也可以将conf目录下的nginx.conf 文件拷贝到/nginx/nginx.conf
全局参数设置:
user nobody; ##使用普通帐号nobody启动服务##
worker_processes 8; ##工作进程设置##
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 5000; ##每worker_processes进程的最大连接数##
use epoll; ##使用epoll##
}
http{ }项参数设置:
server_names_hash_bucket_size 64; ##当设置多个虚拟主机sever时,需增大此参数,默认32#
server_tokens off; ##禁止显示nginx软件的版本号##
sendfile on;
tcp_nodelay on;
keepalive_timeout 30;
4.虚拟主机的设置
" www.test.com "的设置:
server {
listen 80;
server_name www.test.com ;
charset utf-8;
root /data/www.test.com ;
index index.html index.htm;
}
5.服务的启动停止
设置自启动
nginx的启动脚本可由支持centos版本的nginx的rpm的安装文件取得,拷贝到
/etc/init.d/目录下。修改启动脚本的两个参数项:
nginx="/usr/local/nginx/sbin/nginx"
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
执行以下命令
Nginx开启命令:/usr/local/nginx/sbin/./nginx
Nginx停止命令: /usr/local/nginx/sbin/./nginx -s stop
Nginx的热启动:#usr/local/nginx/sbin/./nginx -s reload
chkconfig --add nginx
chkconfig nginx on
执行/etc/init.d/nginx start 启动
/etc/init.d/nginx stop 停止
以上基本的nginx就可以使用了。
另外可以编写启动脚本如下:
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: nginx init.d dash script for Redhat or other *nix.
# Description: nginx init.d dash script for Redhat or other *nix.
### END INIT INFO
#------------------------------------------------------------------------------
# Consts
#------------------------------------------------------------------------------
prefix=/usr/local/nginx
exec_prefix=${prefix}
nginx_BIN=${exec_prefix}/sbin/nginx
nginx_CONF=${prefix}/conf/nginx.conf
nginx_PID=${prefix}/logs/nginx.pid
#------------------------------------------------------------------------------
# Simple Tests
#------------------------------------------------------------------------------
#test if nginx is a file and executable
test -x $nginx_BIN || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
#set exit condition
#set -e
#------------------------------------------------------------------------------
# Functions
#------------------------------------------------------------------------------
setFilePerms(){
if [ -f $nginx_PID ]; then
chmod 400 $nginx_PID
fi
}
configtest() {
$nginx_BIN -t -c $nginx_CONF
}
#courtesy of php-fpm
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;;
'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac
try=`expr $try + 1`
sleep 1
done
}
status(){
if [ ! -r $nginx_PID ] ; then
echo "nginx is stopped"
exit 0
fi
PID=`cat $nginx_PID`
if ps -p $PID | grep -q $PID; then
echo "nginx (pid $PID) is running..."
else
echo "nginx dead but pid file exists"
fi
}
removePIDFile(){
if [ $1 ]; then
if [ -f $1 ]; then
rm -f $1
fi
else
#Do default removal
if [ -f nginx_PID ]; then
rm -f nginx_PID
fi
fi
}
start() {
echo -n "Starting nginx "
$nginx_BIN -c $nginx_CONF
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
fi
wait_for_pid created $nginx_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
}
stop() {
echo -n "Gracefully shutting down nginx "
if [ ! -r $nginx_PID ] ; then
echo "warning, no pid file found - nginx is not running ?"
exit 1
fi
kill -INT `cat $nginx_PID`
wait_for_pid removed $nginx_PID
if [ -n "$try" ] ; then
echo " failed. Use force-quit"
exit 1
else
echo " done"
fi
}
reload() {
echo -n "Reload service nginx"
if [ ! -r $nginx_PID ] ; then
echo "warning, no pid file found - nginx is not running ?"
exit 1
fi
kill -HUP `cat $nginx_PID`
echo " done"
}
quietupgrade() {
echo -n "Peforming Quiet Upgrade nginx"
if [ ! -r $nginx_PID ] ; then
echo "warning, no pid file found - nginx is not running ?"
exit 1
fi
kill -USR2 `cat nginx_PID`
kill -WINCH `cat nginx_PID.oldbin`
if [ ! -r $nginx_PID ] ; then
kill -QUIT `cat nginx_PID.oldbin`
wait_for_pid removed nginx_PID.oldbin
removePIDFile nginx_PID.oldbin
echo " done"
else
echo " failed"
exit 1
echo -n "ERROR! Reverting back to original nginx"
kill -HUP `cat nginx_PID`
kill -TERM `cat nginx_PID.oldbin`
kill -QUIT `cat nginx_PID.oldbin`
wait_for_pid removed nginx_PID.oldbin
removePIDFile nginx_PID.oldbin
echo " done"
fi
}
terminate() {
echo -n "Force terminating (via KILL) nginx"
if [ ! -r $nginx_PID ] ; then
echo "warning, no pid file found - nginx is not running ?"
exit 1
fi
kill -TERM `cat $nginx_PID`
wait_for_pid removed $nginx_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
}
destroy() {
echo -n "Force terminating and may include self (via KILLALL) nginx"
killall nginx -q >> /dev/null 2>&1
echo " done"
}
case "$1" in
start)
start
;;
stop)
stop
;;
force-quit)
terminate
;;
restart)
stop
sleep 1
start
;;
reload)
$1
;;
status)
status
;;
configtest)
$1
;;
quietupgrade)
$1
;;
destroy)
$1
;;
*)
echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest|quietupgrade|destroy}"
echo " The 'destroy' command should only be used as a last resort."
exit 1
;;
esac
exit 0
将以上脚本在 /etc/init.d/ 目录下创建文件 nginx ,并粘贴上以上的脚本保存;
设置nginx的权限:
# chmod 777 /etc/init.d/nginx
将nginx启动命令脚本设置为服务:
#chkconfig --add nginx
设置nginx开机启动,启动级别
# chkconfig --level 2345 nginx on
查看开机启动配置信息
# chkconfig --list nginx
OK, 到此,脚本启动相关完成!
http://www.oschina.net/question/8676_7661 这个文章不错
http://www.cnblogs.com/tommyli/archive/2013/02/27/2935213.html 参考的
相关推荐
nginx window下的静态文件服务器 location /file/ { alias D:/upload/test/; #换成你的本地磁盘位置 index autoindex on; }
标题 "nginx访问静态文件不下载" 暗示了用户可能遇到了在使用Nginx服务器时,尝试访问静态文件(如HTML、CSS、JavaScript或图片等)却导致浏览器下载文件而不是正常显示的情况。Nginx是一款高性能的HTTP和反向代理...
1.查看80端口是否被占用,一般80端口多被apache服务占用。 netstat -anp|grep 80 2.修改apache服务的端口号 ...以上所述是小编给大家介绍的linux服务器上使用nginx访问本地静态资源的方法,希望对大家有所帮助!
确保 Nginx 知道静态文件的存储位置,可以在相应 `location` 中使用 `root` 指令: ```nginx location ~ .*\.(html)$ { default_type 'text/html'; root "/usr/local/openresty/nginx/html"; } ``` `root` 指令...
这个配置文件将静态资源和动态资源分离,使用Nginx服务器来处理静态资源,而动态资源则由应用服务器来处理。 Nginx动静态分离的优点 1. 提高服务器性能:Nginx动静态分离可以减少应用服务器的压力,提高服务器的...
本文主要介绍一些Nginx做图片服务器的简单配置,但不包括Nginx的安装部署以及实现原理。 配置步骤 下载nginx Windows nginx安装教程及简单实践 配置nginx\nginx-1.13.4\conf\nginx.conf文件 #user nobody; ...
要部署静态网站,你需要告诉Nginx静态文件的位置。在`http`块或者`server`块内,创建一个`location`块来指定静态文件目录,例如: ``` location / { root /var/www/html; index index.html index.htm; } ``` ...
使用Nginx作为静态服务器文件服务器在nginx的配置文件设置以下几个地方便可实现一个简单的文件服务器##显示索引##显示大小##显示时间#静态资源文件服务器
以上就是关于Nginx发布前端静态文件的基本配置。理解并熟练掌握这些配置,将有助于构建高效、可靠的Web服务。不过,实际部署时还需要根据具体需求进行调整,例如SSL/TLS证书配置、访问日志记录等。在实践中不断学习...
Nginx,作为一款高性能的HTTP服务器和反向代理服务器,提供了强大的重定向功能,特别是其伪静态处理机制,能够帮助我们优雅地解决这些问题。 #### 2. 为什么需要伪静态与重定向 在网站运营过程中,若不实施有效的...
Nginx作为一款高性能的Web服务器,支持通过配置重写规则来实现伪静态,这正是"T5友价商城源码系统nginx伪静态重写规则.txt"文件所包含的内容。 Nginx的重写规则通常在server或location块中定义,使用rewrite指令...
Nginx擅长处理静态文件请求,可以高效地进行文件传输,因此在静态资源服务方面表现出色。 ### 2. 实现本地文件映射的步骤 #### 2.1 安装Nginx 首先,你需要在你的服务器上安装Nginx。在Ubuntu或Debian系统中,...
Nginx是一款高性能的Web服务器,它以其反向代理、负载均衡、静态文件处理和高效非阻塞I/O模型而闻名。Nginx的设计理念是轻量级、高并发,因此在处理高流量网站时表现出色。以下是Nginx的一些核心知识点: 1. **模块...
要实现 Nginx 下的伪静态配置,主要是通过修改 Nginx 的配置文件来添加相应的重写规则。以下是一些关键步骤: ##### 2.1 准备工作 - **确认 Nginx 版本**:确保 Nginx 版本支持 URL 重写功能。 - **备份现有配置...
这一模型使得Nginx在高并发场景下表现出色,尤其适合处理静态文件请求和HTTP反向代理任务。 其次,Nginx的模块化设计允许开发者通过组合各种功能模块来扩展其功能。例如,HTTP模块负责处理HTTP协议,而邮件模块则...
在本文中,我们将深入探讨如何在CentOS 6.3操作系统上安装Nginx并用其搭建文件服务器。Nginx是一款高性能的Web服务器和反向代理服务器,因其高效的并发处理能力和稳定性而广受欢迎。首先,让我们从安装Nginx开始。 ...
nginx配置多个静态资源 本文将详细介绍nginx配置多个静态资源的知识点,从基本...本文详细介绍了nginx配置多个静态资源的知识点,涵盖了nginx配置文件的各个组件和指令,旨在帮助读者更好地理解和配置nginx服务器。