一、CentOS 7安装Nginx

1、前置条件:CentOS 7系统,已经安装了yum包管理器,已经配置好yum源。

2、安装Nginx:首先,使用yum install nginx安装Nginx,这样Nginx就安装成功了。

3、启动Nginx:在命令行中输入service nginx start启动Nginx,输入service nginx stop停止Nginx,输入service nginx restart重启Nginx。

4、配置Nginx:在/etc/nginx/nginx.conf中配置Nginx,也可以在/etc/nginx/conf.d/default.conf中配置Nginx,配置完后,使用service nginx restart重启Nginx,使配置生效。

二、Nginx安装遇到的问题及解决方法

1、报错:Error: Package: nginx-1.12.2-1.el7.ngx.x86_64 (nginx)
Requires: libcrypto.so.1.0.2()(64bit)
解决方法:使用yum install openssl-libs.x86_64安装openssl-libs,安装完成后,重新安装nginx即可。

2、报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
解决方法:查看端口占用情况,使用netstat -anp | grep 80查看端口占用情况,找到占用端口的进程号,使用kill -9 进程号杀掉进程,重启Nginx即可。

3、报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
解决方法:使用setsebool -P httpd_can_network_connect 1开启httpd_can_network_connect,重启Nginx即可。

三、Nginx安全配置

1、禁用Nginx版本信息:在nginx.conf中添加server_tokens off,重启Nginx使配置生效,这样,Nginx版本信息就被禁用了。

2、限制访问:在nginx.conf中添加allow xxx.xxx.xxx.xxx; deny all;,其中xxx.xxx.xxx.xxx为允许访问的IP地址,重启Nginx使配置生效,这样,只有xxx.xxx.xxx.xxx的IP地址才能访问Nginx。

3、禁用不安全的HTTP方法:在nginx.conf中添加if ($request_method !~ ^(GET|POST|HEAD)$ ) { return 444; },重启Nginx使配置生效,这样,只有GET、POST、HEAD这三种HTTP方法才能被接受,其他不安全的HTTP方法都会被拒绝。