安装
安装 nginx
yum -y install nginx
这一步可能会遇到 "No package nginx available."
问题,解决方法如下:
问题描述: 见下图
问题原因:
nginx 位于第三方的 yum 源里面,而不在 centos 官方 yum 源里面
解决方法(一):
安装 epel(Extra Packages for Enterprise Linux)
去 epel 网站下载对应版本
我的系统是 centos7.6,cpu 是 x86_64
# 下载epel
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
or
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm
# 安装epel
rpm -ivh epel-release-7-11.noarch.rpm
or
rpm -ivh epel-release-7-12.noarch.rpm
再次执行 yum install nginx
,则会提示安装成功了
解决方法(二):
出现这个的原因是因为本地 yum 源中没有我们想要的 nginx,那么我们就需要创建一个 /etc/yum.repos.d/nginx.repo
的文件,新增一个 yum 源
vim /etc/yum.repos.d/nginx.repo
#在文件中写入以下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
退出保存后,再次执行 yum install nginx
,则会提示安装成功了
配置
- 删除
/usr/share/nginx/html/
目录下的所有文件
rm -rf /usr/share/nginx/html/*
- 防火墙中加入允许 80 端口访问
## 加入80端口(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
# 重新载入
firewall-cmd --reload
# 查看
firewall-cmd --zone=public --query-port=80/tcp
# 删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
## 附加:
# 显示防火墙应用列表
firewall-cmd --list-all
- 重启防火墙
systemctl restart firewalld
- 编辑
/etc/nginx/nginx.conf
配置文件,加入如下信息(追加到末尾),使能够访问目录
autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间
- 启动 nginx
systemctl start nginx
systemctl enable nginx
启用
将镜像上传到 /usr/share/nginx/html
目录,在浏览器访问可以看见如下图所示的文件信息,点击可下载
附加
Nginx 显示中文乱码解决
需要修改 nginx 的 server 的配置内容,增加一行:charset utf-8;
情如下:
upstream you.domainName.com {
server 127.0.0.1:8081;
}
server {
listen 80;
server_name you.domainName.com;
charset utf-8;
location /examples {
return 403;
}
....
}
重启 Nginx 服务(nginx -s reload
)。最后,刷新,一切正常!
执行 nginx -s reload
的问题
解决 unknown directive "stream" in /etc/nginx/nginx.conf
问题
在 nginx.conf
的第一行插入:
load_module /usr/lib/nginx/modules/ngx_stream_module.so;
# find / -name 'ngx_stream_module.so' -print
如果 ngx_stream_module.so
地址不对
[root@localhost ~]# find / -name 'ngx_stream_module.so' -print
/usr/lib64/nginx/modules/ngx_stream_module.so
然后 换成真实地址
即可!问题解决。
问题
重置(nginx -s reload
)nginx 出现这个错误
nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)
解决方法:找到你的nginx.conf的文件夹目录
,然后运行这个:
# 例如:找到的nginx.conf的文件夹目录为:“/etc/nginx/nginx.conf”
# 执行以下命令
nginx -c /etc/nginx/nginx.conf
再运行 nginx -s reload
,就可以了
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于