Luo Hao

Nginx常见问题

rehoni / 2022-04-11


1、一分钟实现文件服务器

在局域网内和同事共享文件的好方法

1 安装nginx sudo apt-get install nginx

2 创建conf文件 sudo gedit /etc/nginx/conf.d/file_server.conf

修改conf文件如下:

server {
  listen 80; 
  server_name 10.1.2.3; # 自己PC的ip或者服务器的域名 charset utf-8; # 避免中文乱码 
  root /home/xx/share; # 存放文件的目录 
  location / { 
    autoindex on; # 索引 
    autoindex_exact_size on; # 显示文件大小 
    autoindex_localtime on; # 显示文件时间 
  }
}

3 使配置生效 sudo rm /etc/nginx/sites-enabled/default 这一行尤为重要 sudo service nginx reload

4 命令 sudo /etc/init.d/nginx start|stop|reload| sudo service nginx start|stop|reload|

5 访问 浏览器里直接输入 http://10.1.2.3

2、Red Hat Enterprise Linux 7.3下Nginx安装

1、环境

系统平台:Red Hat Enterprise Linux Server release 7.3 (Maipo)

内核版本:3.10.0-514.el7.x86_64

2、安装编译工具和库文件

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

3、安装pcre

PCRE 作用是让 Ngnix 支持 Rewrite 功能。

查看是否安装pcre

# pcre-config –version

上述表明已安装。

若未安装,参照以下步骤:

1)下载

地址:https://sourceforge.net/projects/pcre/files/pcre/

2)解压安装包:

 tar zxvf pcre-8.35.tar.gz

3)编译安装

 cd pcre-8.35

./configure

 make && make install

安装

1、下载 nginx 安装包

http://nginx.org/download/

2、解压

# tar zxvf nginx-1.10.2.tar.gz

3、编译

# ./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-pcre

4、安装

# make

# make install

5、测试

查看nginx版本

# /usr/local/nginx/sbin/nginx -v

显示版本信息,证明已安装成功

3、创建用户

创建 Nginx 运行使用的用户 ruready:

 /usr/sbin/groupadd ruready
 /usr/sbin/useradd -g ruready ruready

4、启停和加载配置

/usr/local/nginx/sbin/nginx -t #检查配置文件ngnix.conf的正确性

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/sbin/nginx/nginx.conf # 加载指定配置文件启动

/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件

/usr/local/nginx/sbin/nginx -s reopen # 重启 Nginx

/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx

5、映射目录

只需要打开 nginx.conf 或者对应的虚拟主机配置文件,在 server 或 location 段里面中上 autoindex on; 就可以了

除了 autoindex 外,该模块还有两个可用的字段:

autoindex_exact_size on;
# 默认为 on,以 bytes 为单位显示文件大小;
# 切换为 off 后,以可读的方式显示文件大小,单位为 KB、MB 或者 GB。
autoindex_localtime on;
# 默认为 off,以 GMT 时间作为显示的文件时间;
# 切换为 on 后,以服务器的文件时间作为显示的文件时间。

以访问主机地址 /download 为例下面是一个完整的配置文件:

location /download {
    alias /home/user/static_files;   # 要在网络上显示的本地目录的路径
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
}

这样访问你的主机地址加上 /download 的时候就能看到你的目录了:

http://example.cn/download

中文乱码

加上 charset 即可

location /download {
    # ... 其它同上
    charset utf-8,gbk; # 两个字符集间不要加空格
}

注意文件夹的权限,查看 Nginx 日志可查看访问和错误日志