私网域名Nginx返回503 Service Unavailable

私网域名Nginx返回503 Service Unavailable

我是 nginx 新手,刚开始熟悉手动服务器设置...

我有一个简单的 nginx 服务器,当访问时ip:port,我正在尝试为我的主机设置域名。

server {
        listen       80;
        listen [::]:80;
        server_name  farhadadeli2.ir www.farhadadeli2.ir;

        root   /xxx;
        index index.php index.html index.htm;

        location / {            
            try_files $uri $uri/ =404;
        }             

        location ~ \.php$ {
            root           html;
            fastcgi_pass   unix:/var/run/php-fpm/www56.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }


    }

farhadadeli2.ir不是注册域名,因此我185.208.172.243 farhadadeli2.ir在本地系统的 Windows 主机文件中进行了设置。

如果我http://farhadadeli2.ir/index.html在浏览器中打开,我会得到503 Service Unavailable....奇怪的是,如果我使用代理服务器访问该域,它可以正常工作并加载索引页!!!

我重新启动了 centos7 服务器中的 dns 服务并刷新了本地 windows 系统中的 dns ( ipconfig /flushdns) 但我仍然收到503 Service Unavailable消息!!!

我该怎么做才能解决这个问题?

我是否需要在我的 centos 服务器中设置一些 dns 服务器?

答案1

我知道这个问题有点老了,但关于为 HTTP 设置 Centos 7 有几点注意事项。

防火墙

Centos 7 使用'防火墙' 而不是 iptables。可以通过“firewall-cmd”配置防火墙,必须以提升的用户身份(sudo)运行。

默认情况下,除 ssh 之外的所有服务都被阻止,因此必须明确允许 http。添加服务时常见的错误是未将更改设置为永久更改。

使用以下命令永久打开http;

sudo firewall-cmd --add-service=http --add-service=https --zone=public --permanent

或者

sudo firewall-cmd --add-port=80/tcp --add-port=443/tcp --zone=public --permanent

执行上述操作后,http 和 https 都将在公共区域打开并保存为永久内容。

出于实验目的,您可以在不使用--permanent 选项的情况下添加和删除端口和服务,如果出现问题,您可以使用firewall-cmd--reload 进行恢复。

Apache / Nginx

安装 Apache 或 Nginx,选择权在您手中。您可以使用任何您喜欢的 http 服务器。

sudo yum install apache

或者

sudo yum install nginx

根据我的经验,Apache 和 Nginx 开箱即用,可用于提供页面,并可加载进行测试。将您选择的服务器配置为每次重启后启动。

# For apache    
sudo systemctl enable httpd.service
sudo systemctl start httpd.service

# For Nginx
sudo systemctl enable nginx.service
sudo systemctl start nginx.service

验证其在本地正常运行

您应该能够通过安装链接工具来加载空白网站。

sudo yum -y install links
links http://localhost

您的网站应该可见并可从本地主机现在你应该对非本地主机 IP 执行相同的操作,例如;'linkshttp://192.168.0.10'并验证相同的结果。

域名

如果您正在为自己创建开发环境,并且服务器与您位于同一网络上,则不需要域名。您应该能够使用 URL 通过浏览器加载服务器http://192.168.0.10(显然要替换为服务器 IP)。如果您的服务器上只有一个网站,您也可以在路由器上转发端口 80 后从互联网访问该网站。外部访问 URL 将是http://你的公共 IP 地址(谷歌‘我的 IP 地址是多少’)。

但是,如果您要拥有多个网站,则应该获取一个域名,否则服务器无法区分它们。有许多免费域名提供商,例如“noip.com”和“dyn.com”。您可以将各种域名指向您的公共 IP,并成功运行开发环境。

以上是设置家庭网络服务器的基础知识。需要记住的事情是:

  1. 防火墙端口必须打开,
  2. Http 服务器安装并测试
  3. 没有你的公共 IP 地址
  4. 转发适当的端口

完成所有这些操作并测试网站运行后,您应该重新启动并重新测试,并确保所有服务正常启动。

你已经完成了

我希望这可以帮助别人。

相关内容