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 安装包
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 日志可查看访问和错误日志