前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 CentOS 下快速搭建 Nginx 服务器

如何在 CentOS 下快速搭建 Nginx 服务器

作者头像
FoamValue
发布2020-08-31 12:55:13
5570
发布2020-08-31 12:55:13
举报
文章被收录于专栏:FoamValue

查看服务器版本

代码语言:javascript
复制
# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

安装步骤

1. 更新 yum

代码语言:javascript
复制
# yum updateFailed to set locale, defaulting to C.UTF-8CentOS-8 - AppStream                                                                                                                                              4.1 kB/s | 4.3 kB     00:01CentOS-8 - Base                                                                                                                                                   5.1 kB/s | 3.8 kB     00:00CentOS-8 - Extras                                                                                                                                                 4.1 kB/s | 3.0 kB     00:00Dependencies resolved.Nothing to do.Complete!

2. 安装 Nginx

代码语言:javascript
复制
sudo yum install nginx

3. 配置 Nginx

设置开机启动

代码语言:javascript
复制
# sudo systemctl enable nginx

启动服务

代码语言:javascript
复制
# sudo systemctl start nginx

停止服务

代码语言:javascript
复制
# sudo systemctl restart nginx

重新加载

代码语言:javascript
复制
# sudo systemctl reload nginx

防火墙配置

代码语言:javascript
复制
# sudo firewall-cmd --zone=public --permanent --add-service=httpsuccess

开通某个端口,重新加载配置后生效。持久

代码语言:javascript
复制
# sudo firewall-cmd --add-port=80/tcp --permanentsuccess# sudo firewall-cmd --add-port=443/tcp --permanentsuccess

重启服务器,并查看防火墙状态。

代码语言:javascript
复制
# sudo firewall-cmd --list-servicedhcpv6-client http ssh

查询放开端口

代码语言:javascript
复制
# sudo firewall-cmd --list-ports80/tcp

Nginx 常见错误

查看错误信息

代码语言:javascript
复制
# cat /var/log/nginx/error.log

1. 修改 nginx.conf 启动用户

代码语言:javascript
复制
# ps aux | grep "nginx: worker process" | awk '{print $1}'nobodyroot
# vim conf/nginx.confuser root;worker_processes auto;error_log /var/log/nginx/error.log;...

2. 修改 html 文件权限

查看原 html 目录文件权限

代码语言:javascript
复制
# ls -lrtZ /usr/share/nginx/htmltotal 24-rw-r--r--. 1 root root system_u:object_r:httpd_sys_content_t:s0  368 Oct  7 21:16 nginx-logo.png-rw-r--r--. 1 root root system_u:object_r:httpd_sys_content_t:s0 4057 Oct  7 21:16 index.html-rw-r--r--. 1 root root system_u:object_r:httpd_sys_content_t:s0 4020 Oct  7 21:16 50x.html-rw-r--r--. 1 root root system_u:object_r:httpd_sys_content_t:s0 3971 Oct  7 21:16 404.html-rw-r--r--. 1 root root system_u:object_r:httpd_sys_content_t:s0 4148 Oct  7 21:16 poweredby.png

修改自定义目录

代码语言:javascript
复制
chcon -R -u system_u /xxx/chcon -R -t httpd_sys_content_t /xxx/

安全配置

1. 隐藏目录

代码语言:javascript
复制
http {  autoindex off;}

2. 隐藏显示版本号

代码语言:javascript
复制
http {  server_tokens off;}

3. 限制访问请求参数

代码语言:javascript
复制
http {  # 设置客户端请求头读取超时时间  client_header_timeout 15;  # 设置客户端请求主体读取超时时间  client_body_timeout 15;     # 上传文件大小限制  client_max_body_size 10m;  # 指定响应客户端的超时时间  send_timeout    60;  # 设置客户端连接保持会话的超时时间  keepalive_timeout 60;}

4. 访问限制的,allow就是允许访问的ip和ip段,deny就是禁止访问的ip和ip段

代码语言:javascript
复制
# 设置网站根目录的访问权限location / {    allow 192.168.1.1/24;    deny 192.168.1.2/24;    deny all;}

5. 限制访问个别目录或文件后缀名

代码语言:javascript
复制
# 在访问 uploads、p_w_picpaths 目录指定后缀的文件location ~ ^/(uploads|p_w_picpaths)/.*\.(php|php5|jsp)$ {    return 403;}# 禁止访问所有目录指定后缀的文件location ~.*\.(sql|log|txt|jar|war|sh|py) {    deny all;}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FoamValue 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档