您的位置:首页 > 运维架构 > Nginx

CentOS 6.3安装Nginx开启目录浏览、下载功能

2012-12-06 15:54 706 查看
本次实验实现目的:

安装Nginx,Nginx开启目录浏览、下载功能,开机默认启动;咐件自带开机启动脚本、重启脚本;

1、关闭SELINUX
查看获取SELinux的状态:

[root@localhost ~]# getenforce
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled #默认为:enforcing

2、添加开放nginx端口号
查看获取iptables的状态:

[root@localhost ~]# service iptables status

在防火墙IPtables 添加nginx监听的端口80;

[root@localhost ~]# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
:wq #保存

重启IPtables

[root@localhost ~]# service iptables restart

确认安装成功并启动:nginx监听的端口80;

[root@localhost ~]# netstat -na |grep :80

3、下载软件包

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz [root@localhost src]# wget http://nginx.org/download/nginx-1.3.8.tar.gz
4、安装pcre 让安装Nginx支持rewrite 方便以后所需
方法1:

[root@localhost ~]# yum install pcre*

方法2:

[root@localhost src]# tar zxvf pcre-8.31.tar.gz
[root@localhost src]# cd pcre-8.31
[root@localhost pcre-8.31]# ./configure
[root@localhost pcre-8.31]# make;make install

5、安装nginx
将nginx-1.3.8.tar.gz传到/usr/local/src(安装需要编译的软件,最好放到这个目录下)。

[root@localhost src]# tar zxvf nginx-1.3.8.tar.gz
[root@localhost src]# cd nginx-1.3.8
[root@localhost nginx-1.3.8]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.3.8]# make;make install

6、安装Apache

[root@localhost ~]# yum install http*
[root@localhost ~]# service httpd restart

7、修改httpd配置文件
查找httpd.conf配置文件路径

[root@localhost ~]#find / -name httpd.conf

修改端口号:
修改端口号目的:httpd与nginx端口冲突,必须改其中一个端口号;

[root@localhost ~]#vim /etc/httpd/conf/httpd.conf
Listen 8080 #默认为:80,修改为:8080

8、nginx配置文件测试

[root@localhost ~]# /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

测试成功!

9、Nginx启动

[root@localhost ~]# /usr/local/nginx/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

出现这些东西,说明服务已经启动。

然后在ie中访问你服务器的ip,出现这个就安装成功了! http://0.0.0.0


10、查看日志

[root@localhost ~]# tail /usr/local/nginx/logs/access.log

11、开启全站所有目录浏览功能
创建目录:

[root@localhost ~]# mkdir /webshare

编辑配置文件,在http{下面添加以下内容

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {
autoindex on; #开启nginx目录浏览功能
autoindex_exact_size off; #文件大小从KB开始显示
autoindex_localtime on; #显示文件修改时间为服务器本地时间
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

gzip on;

server {
listen 80; #Nginx端口号
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
#root html;
root /webshare; #/webshare网站根目录路径
autoindex on;
index index.html index.htm;
}

:wq #保存,退出

12、nginx开机自动启动
启动脚本
第一步、先运行命令关闭nginx

[root@localhost ~]# sudo kill `cat /usr/local/nginx/logs/nginx.pid`

第二步、编辑启动脚本、重启脚本(咐件有脚本,上传到/etc/init.d/目录下)

[root@localhost ~]# vim /etc/init.d/nginx

添加输入以下内容:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/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 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

lockfile=/var/lock/subsys/nginx

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
configtest || return $?
stop
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 2>&1
}

case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac

:wq 保存退出

第三步、设置/etc/init.d/nginx 为777权限

[root@localhost ~]# chmod 777 /etc/init.d/nginx

第四步、设置开机默认启动

[root@localhost ~]# /sbin/chkconfig nginx on

检查一下

[root@localhost ~]# sudo /sbin/chkconfig --list nginx
nginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

完成!

之后,就可以使用以下命令了;
service nginx start #开启
service nginx stop #停止
service nginx restart #重启
service nginx reload #重新加载

/etc/init.d/nginx start #开启
/etc/init.d/nginx stop #停止
/etc/init.d/nginx restart #重启
/etc/init.d/nginx reload #重新加载

然后在ie中访问你服务器的ip,出现这个就安装成功了! http://0.0.0.0


上传一些资料到服务器上,客户端可以通IE下载;上传方法有多种,参考:
SecureCRT 安装上传(rz)和下载(sz) /article/4277764.html



13、nginx关闭进程命令
方法一
停止操作是通过向nginx进程发送信号来进行的
步骤1:查询nginx主进程号

[root@localhost ~]# ps -ef | grep nginx

在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:

[root@localhost ~]# kill -QUIT 主进程号

快速停止Nginx:

[root@localhost ~]# kill -TERM 主进程号

强制停止Nginx:

[root@localhost ~]# kill -9 nginx

方法二

[root@localhost ~]# yum install lsof
[root@localhost ~]# lsof -i :80
[root@localhost ~]#kill -9 进程号

14、安装过程中问题
---------------------------------------------------------------------
有报错:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
解决方法:
[root@localhost nginx-1.3.8]# yum install pcre*
---------------------------------------------------------------------
安装完成:
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
----------------------------------------------------------------------
本文出自 “运维工作生涯” 博客,请务必保留此出处/article/4277769.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: