Nginx快速安装-Linux-CentOS7
1.查看目录的可安装源数量
yum repolist
2.更新安装源数量
yum install epel-release -y
更新完成后,再用第1步的命令,查看安装源的数量会上升。
3.安装nginx
yum install nginx -y
4.开启nginx服务
systemctl start nginx
5.查看nginx是否运行
ps -ef|grep nginx
6.设置nginx开机自动启动
systemctl enable nginx
7.安装网络管理查看工具
sudo yum install net-tools
8.查看nginx占用80端口的情况
netstat -lntup
9.显示本机IP地址
ip addr
例如:本机IP地址为:192.168.137.130
则在浏览器中输入 192.168.137.130:80
回车,显示下图界面,即为成功:
10.如果不显示上图的界面,最大可能是防火墙的问题。
可以临时开放端口:以开放 80 端口为例,使用以下命令。
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
重新加载防火墙规则:使配置生效。
sudo firewall-cmd --reload
也有可能是其它问题,例如:80端口被占用,具体可以自行用AI来搜索解决方案。
在 CentOS 系统中,使用 firewalld 防火墙永久开放 80 端口的步骤如下: 使用命令
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
此命令会将 80 端口的 TCP 协议访问权限永久性地添加到 public 区域。
执行sudo firewall-cmd --reload重新加载防火墙配置,使新规则生效。
如果在使用firewall-cmd开放端口时不添加--permanent参数,那么开放的端口属于临时开放。
临时开放的端口在系统或防火墙服务重启后就会失效,没有明确固定的时长限制,如果系统和防火墙服务一直不重启,就会一直保持开放状态。
nginx的使用教程,可以看下面的视频链接:
【Nginx教程】2024版这绝对是你看过的最好的Nginx实战教程,整整2小时(建议收藏慢慢看)_哔哩哔哩_bilibili
11.配置nginx的nginx.conf文件
进入/etc/nginx的配置目录
cd /etc/nginx
使用pwd可以查看当前目录
备份默认的配置文件:
mv nginx.conf nginx.conf.bak
使用下面的命令查看最小配置:
grep -Ev '#|^$' nginx.conf.default
grep -Ev '#|^$' nginx.conf.default > nginx.conf
使用上面的命令,生成nginx.conf文件。
为了开启目录浏览功能,配置如下:
worker_processes 1;
events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location /test {#设置要映射的对应的Linux下的test所在的目录root /home;# 开启目录浏览功能autoindex on;#显示文件大小的时候带单位autoindex_exact_size off; # 设置目录列表格式为 HTMLautoindex_format html;# 设置字符编码charset utf-8;# 开启基本认证auth_basic "Restricted Access";# 指定密码文件路径auth_basic_user_file /etc/nginx/.htpasswd;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
目录为/home/test
修改目录权限
sudo chmod -R 755 /home/test
sudo chown -R nginx:nginx /home/test # 如果 Nginx 以 nginx 用户运行
确认 /home/test 目录权限和所有权
# 查看权限和所有权
ls -ld /home/test
# 重新设置权限
sudo chmod -R 755 /home/test
# 重新设置所有权
sudo chown -R nginx:nginx /home/test
检查 SELinux 限制
SELinux 可能会在文件系统权限正常的情况下,基于其策略限制 Nginx 访问 /home/test 目录。可以通过以下操作来排查和处理: 临时关闭 SELinux 进行测试
sudo setenforce 0
然后尝试访问目录,如果可以访问,说明是 SELinux 策略的问题。之后可以通过创建自定义策略来允许 Nginx 访问该目录。
创建自定义 SELinux 策略
CentOS7下,安装 policycoreutils-python-utils
或其替代包
sudo yum install policycoreutils-python
安装完成后,再次尝试执行生成 SELinux 策略模块的命令:
sudo ausearch -c 'nginx' --raw | audit2allow -M my-nginx
加载 SELinux 策略模块
sudo semodule -i my-nginx.pp
重启 Nginx 服务
sudo systemctl restart nginx
恢复 SELinux 到强制模式(如果之前临时关闭)
sudo setenforce 1
测试访问
尝试再次访问之前配置的 Nginx 目录(例如 http://your_server_ip/test ),检查是否可以正常浏览目录内容。
检查日志
如果访问仍然存在问题,需要查看相关日志来进一步排查。
主要查看两个日志文件: Nginx 错误日志:记录了 Nginx 服务运行过程中的错误信息。
使用以下命令查看最新的日志内容:
sudo tail -n 20 /var/log/nginx/error.log
SELinux 审计日志:记录了 SELinux 相关的审计信息,有助于发现 SELinux 策略是否仍然存在限制。
使用以下命令查看与 nginx 相关的审计记录:
sudo ausearch -c 'nginx'
12.重启nginx
检查配置文件语法
sudo nginx -t
重新加载 Nginx 配置
sudo nginx -s reload
重启 Nginx 服务
sudo systemctl restart nginx
验证 Nginx 服务状态
sudo systemctl status nginx