起因
大学闲来无事,又不想荒废时光。可是没有监督的话自己总是会怠惰,便想要搭建个部落格来记录下自己做了什么。
择日不如撞日,想到这里,我立马连上了我的Esxi服务器,开干!
emmm..CentOS的安装轻车熟路,就不怎么说了,不过为了保险和方便,我顺手装了GHome桌面环境,并且记下了网卡的名字 ens192。
经过
安装完CentOS 7后的第一件事肯定是先装Nginx啦!
|
|
诶,怎么回事,为什么会提示Nothing to do。
原来是yum的默认安装源不包含Nginx,所以我们必须手动为yum添加Nginx的安装源。
首先,我们在在 /etc/yum.repos.d/ 目录下创建一个源配置文件 nginx.repo。
|
|
文件内容如下
然后敲:wq保存退出,就可以直接执行命令安装Nginx啦!
在100Mbps的网速加持下,Nginx不一会就装好了,但是这时候Nginx服务还没有启动,让我们来启动它。
|
|
CentOS 7用service nginx start的话会提示你用systemctl来管理服务喔。
没有回显,但是没有回显才是最好的回显。现在Nginx服务应该是启动状态了,测试一下~
果然返回了熟悉的Nginx欢迎界面。
然后我们为Nginx添加上开机启动。
|
|
至此,Nginx的安装就完成了。
可是还没完啊,我总不能用Nginx的默认目录吧?那样太low了!
Nginx默认的root目录不方便进行权限管理和其他操作。
我想想,Nginx的配置文件放在哪里来着?
然而,并不是这里。
看到这一行了吗?
这说明真正的配置文件其实在conf.d目录里。
我们用vim打开这个目录下的 default.conf 文件,它负责Nginx的默认配置 。
|
|
找到这一段,将其中的/路径 改为你想要的路径,这里我设置为 /data/www/hexo,并且在目录下建立了index.html文件,内容如下。
|
|
嗯,应该可以了,用wq保存一下然后重启Nginx服务。
|
|
然后再一次查看运行状态。
|
|
故障排除
错误码 403 | SELinux
正当我准备享受胜利的果实时,终端返回给我了一个坏消息。
403 forbidden
诶? 啊咧? 怎么回事? 我的Nginx呢,好大一个,就在这里,怎么不见了QAQ?
答案当然是权限设置出了问题。(←想当然
心想这下总该行了吧,但事实依旧残酷,curl依然返回403,问题并没有得到解决。
没办法,看看log文件吧。
|
|
看到有这样的提示。
/data/www/hexo/index.html is forbidden(permission denied)
我试图单独给index.html 755权限,但是错误依旧。
该配的权限明明应该已经配好了啊,这是为什么啊QAQ!
难道是某个我不知道的地方出了问题?
又折腾了一个小时左右,无果。
难道只能放弃了吗?不死心的我进入了GHOME界面,试图去查看index.html的文件属性,结果在权限设置里发现了一行奇怪的属性。
[安全上下文:unconfined_u object_r home_root_t]
这个东西似曾相识…好像是SELinux?莫非就是这里的问题!
|
|
SELinux status: enabled
果然SELinux是开启状态,联想到通知栏不时弹出的警报,一i额就有了答案。接下来只要关闭SELinux就万事大吉了。
修改SELinux的权限管理太麻烦,这里偷个懒。
修改 /etc/selinux/config 文件。
SELINUX=enforcing → SELINUX=disabled
然后再次curl。
Nginx running!
哇成功啦!
外网无法访问 | Firewalld->Iptables
说起来还有个小问题,本地访问时Nginx可以正常显示,但是同局域网内的电脑却无法访问Hexo。
其实这又是CentOS的锅,CentOS 7使用firewalld来管理iptables规则,而firewalld默认是阻止80端口的。
我的话只会配置iptables,对firewalld一窍不通,不过没关系,即使是在CentOS 7,我们也是可以换回iptables的。
|
|
使用下面的命令来恢复iptables,并且使iptables开机自启动。
|
|
这样的话,iptables服务会开机启动,并从 /etc/sysconfig/iptables 文件中导入规则。
同时,为了让 /etc/init.d/iptables save 这条命令生效,需要进行以下操作。
|
|
而 chkconfig iptables 命令会自动重定向到 sytemctl enable iptables。
紧接着我们执行如下指令。
|
|
这个地方,我们就用到了一开始记下的网卡名称。
至此,CentOS 7 + Nginx的配置就全部结束啦。
想了想其实也没什么复杂的操作,就是自己太蠢。
嘛,就这样吧。