宫崎骏风-马尔科-红发
前言
这是手动敲命令配置的方式,需要一定的 linux
命令基础,也可以使用云服务器平台支持的面板操作方式,对于新手更友好,例如 宝塔面板
等等
买域名
去域名注册网站注册自己想要的域名,如火山引擎,腾讯云,阿里云 等等
基本价格都差不多,我五一之前买的,火山引擎的优惠力度更大一点,选了一个 xyz
结尾的域名,主要还是 com
结尾的域名太贵了
买云服务器
买了最小配置的,一年60
总费用
域名,云服务器加其他一共261,产品服务明细如下
开始配置
镜像选择
企业级服务系统大部分都是 CentOS
,因此这里我选的是 CentOS Stream 9
,后面的操作都是在 CentOS Stream 9
中进行的
实例绑定公网IP
按需创建实例后,查看实例是否绑定了公网IP,如果没绑定,点最右边的 ...
绑定即可
远程连接
可以在管理后台点击 远程连接
进入 CentOS
系统,也可以使用 ssh
的方式,因为远程连接默认是 root
用户,下面所有的命令操作不用加 sudo
安装 nginx
先安装 yum-utils
1 | yum install yum-utils |
设置 yum
仓库,在对应目录下创建配置文件 /etc/yum.repos.d/nginx.repo
1 | [nginx-stable] |
执行安装命令
1 | yum install nginx |
安装结束后,使用 nginx -v
命令查看是否安装成功
1 | nginx -v |
准备站点文件
我使用了一个 index.html 文件,里面只有一句话 I am a test 8091
,把 index.html
文件放到 /root/code/8091
目录下
配置 Nginx 站点
例如配置一个 8091
端口的站点,在 /etc/nginx/nginx.conf
文件中,添加 server
配置,主要是设置 root
路径,就是上面 index.html
文件所在的目录地址,配置 listen
端口为 8091
, 剩下的配置基本都是默认的,直接粘就行,nginx.conf
完整配置如下
1 | user nginx; |
重启 Nginx
每次 nginx.conf
文件变更后,都需要重启服务
1 | systemctl restart nginx |
或
1 | nginx -s reload |
配置防火墙
开启 CentOS
系统的防火墙
1 | systemctl start firewalld |
开放8091端口
1 | firewall-cmd --permanent --add-port=8091/tcp |
重启防火墙服务
1 | firewall-cmd --reload |
配置云服务端口
网络与安全
-> 安全组
-> 访问规则
-> 入方向规则
-> 添加规则
添加 8091 端口,如火山引擎操作后的页面效果
测试效果
到这里就全部配好了,打开浏览器,地址栏输入 公网IP:端口
查看效果
遇到的问题
500 Internal Server Error
配置好站点IP和对应目录文件后,访问后500错误
查看 Nginx 日志,进行分析
1 | tail -f /var/log/nginx/error.log |
默认一般是这个路径,这个路径是在 nginx.conf 文件中 error_log
参数配置的
或
1 | tail -f /usr/local/nginx/logs/error.log |
日志提示内容
1 | 2024/05/07 11:06:34 [error] 279863#279863: *73 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 61.148.18.2, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "101.126.84.155:8091", referrer: "http://101.126.84.155:8091/" |
意思是 内部重定向到“/index.html”时重写或内部重定向循环
,这个情况是配置有问题导致
在 nginx.conf
中我的配置是这样的
1 | server { |
因为 8091
端口配置中,location / 块使用了 try_files $uri $uri/ /index.html;
会导致导致在尝试访问根目录时发生重定向循环,添加一个新的location=/index
块,直接提供 /index.html 而不进行重定向,如下即可
1 | server { |
403 Forbidden
再次使用 tail -f /var/log/nginx/error.log
命令查看 nginx 日志
1 | [error] 290911#290911: *104 open() "/root/code/8091/index.html" failed (13: Permission denied), client: 61.148.18.2, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "101.126.84.155:8091", referrer: "http://101.126.84.155:8091/" |
Permission denied
权限拒绝
查看当前 code/
目录权限如下
1 | File: / |
是 555
改成 777
1 | chmod 777 code/ |
重新刷新浏览器,页面正常能访问到了
欢迎大家讨论交流,如果喜欢本文章或感觉文章有用,动动你那发财的小手点赞、收藏、关注再走呗
^_^
微信公众号:草帽Lufei
掘金:草帽lufei