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

简介:

本次实验实现目的:

安装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  

修改端口号:

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

[root@localhost ~]#vim /etc/httpd/conf/httpd.conf 

Listen 8080      #默认为:80,修改为:8080

 

8nginx配置文件测试

[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

测试成功!

 

Nginx: error while loading shared libraries: libpcre.so.1 报错:

 

[root@localhost ~]# /usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

 

确认已经安装PCRE:

Shell代码 

[root@localhost ~]# cd /lib 

[root@localhost ~]# ls *pcre* 

libpcre.so.0  libpcre.so.0.0.1 

[root@localhost ~]# find / -type f -name *libpcre.so.*  

添加软链接:

解决Shell代码 :x86_bit

[root@localhost ~]# ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1 

前面在一般的linux上可以解决此问题.

 

在有的操作系统上面,安装pcre,安装的位置为/usr/local/lib/*pcre*

redhat 64位机器之上有这样的情况.

redhat 64位机器上, nginx可能读取的pcre文件为/lib64/libpcre.so.1文件.

所以在改用下面的软连接:

解决Shell代码 :x64_bit

[root@localhost ~]# ln -s /usr/local/lib/libpcre.so.1 /lib64/ 

[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

9Nginx启动

[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;     #显示文件修改时间为服务器本地时间

charset utf-8,gbk;          #显示中文

    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    #保存,退出

 

12nginx开机自动启动

启动脚本

第一步、先运行命令关闭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) http://yanghuawu.blog.51cto.com/2638960/1009591

13nginx关闭进程命令

方法一

停止操作是通过向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"

----------------------------------------------------------------------




本文转自 yhw85 51CTO博客,原文链接:http://blog.51cto.com/yanghuawu/1055329,如需转载请自行联系原作者

相关文章
|
3月前
|
Linux
inux CentOS 7 如何进入默认工作目录 [root@localhost ~]
这篇文章讨论了如何在Linux CentOS 7系统中进入默认工作目录。默认工作目录通常是用户的主目录,表示为`[root@localhost ~]`,其中波浪号`~`代表当前用户的主目录。文章可能还包含了如何打开这个默认工作目录的步骤和说明。不过,具体内容没有提供详细信息,通常可以通过打开终端并使用`cd ~`命令来进入默认工作目录。如果需要更详细的步骤或有特定的问题,可能需要查看原文获取更多信息。
|
30天前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
1月前
|
负载均衡 安全 应用服务中间件
nginx的强大功能和如何使用?
nginx的强大功能和如何使用?
47 2
|
1月前
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
|
3月前
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
3月前
|
JavaScript 应用服务中间件 PHP
nginx server 禁止特定目录下的某类文件访问
【8月更文挑战第26天】这段Nginx配置代码旨在保护`/uploads/`目录下的文件,禁止执行任何`.php`, `.html`, `.htm`, 或 `.js`等潜在有害文件,即便被访问也无法运行。取而代之的是重定向到首页。为了实现这一设置,用户需要定位到对应子域名的`.conf`配置文件中进行相应修改。若网站支持多个访问域名,则需确保在正确的`.conf`文件中实施此配置。
73 1
|
3月前
|
应用服务中间件 Linux nginx
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
这篇文章介绍了在CentOS系统上使用Nginx源码包进行安装和配置的详细步骤,包括源码包的获取、解压、配置、编译、安装、启动验证以及注意事项。
320 0
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
|
3月前
|
应用服务中间件 Linux nginx
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
|
3月前
|
缓存 负载均衡 安全
介绍一下Nginx的反向代理功能吧
【8月更文挑战第22天】介绍一下Nginx的反向代理功能吧
65 0
|
3月前
|
缓存 安全 应用服务中间件
Nginx的反向代理功能有哪些应用场景呢
【8月更文挑战第22天】Nginx的反向代理功能有哪些应用场景呢
167 0