目录
安装nginx
bash
dnf install -y nginx
配置nginx
bash
whereis nginx
bash
cd /etc/nginx
ll
bash
cd conf.d
touch vhost.conf
vim vhost.conf
命令模式下输入:set nu
或:set number
可以显示行号
复制如下内容:
bash
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root /mirror; #修改根目录
location / {
#root hmtl;
#index index.html index.htm;
allow all;
autoindex on;#开启目录浏览
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8,gbk;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /.html {
root html;
}
}
测试配置文件,按理说这里新增的server部队与主配置文件nginx.conf是有冲突的,但实际测试不冲突,不需要将主配置文件中的server部分注释掉(可以理解为优先级)。
- 测试配置文件
bash
nginx -t
- 未启动-开启nginx
bash
systemctl enable nginx #设置开机启动
systemctl start nginx
或
- 已启动-开启nginx
bash
systemctl enable nginx #设置开机启动
systemctl restart nginx
至此:访问http://ip 是无法访问的
其它权限配置
- 防火墙配置
bash
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
至此:访问http://ip 是可以访问的,但返回的是nginx 403
(如果是404
可能是主目录不存在)
按3个方向排查:一是Selinux; 二是目录权限; 三是文件所有者
- Selinux
修改SELinux的状态(代码替换)
bash
setenforce 0 #临时关闭selinux
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
或者(手动修改)
bash
setenforce 0 #临时关闭selinux
vim /etc/sysconfig/selinux
状态分为以下三种:
SELINUX=enforcing #selinux开启,级别为强制(华为openEuler系统选择服务server方式安装时默认为开启)
SELINUX=permissive #selinux开启,级别为警告
SELINUX=disabled #selinux关闭
在Linux系统中永久关闭SELinux的方法是修改SELINUX的配置文件,将SELINUX=enforcing改为SELINUX=disabled
,然后保存退出并重启系
- 目录权限(R必须大写)
bash
chown -R nginx:nginx /mirror
- 文件所有者
bash
chmod -R 755 /mirror
至此:软件源repo站点成功搭建