我是 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,并成功运行开发环境。
以上是设置家庭网络服务器的基础知识。需要记住的事情是:
- 防火墙端口必须打开,
- Http 服务器安装并测试
- 没有你的公共 IP 地址
- 转发适当的端口
完成所有这些操作并测试网站运行后,您应该重新启动并重新测试,并确保所有服务正常启动。
你已经完成了
我希望这可以帮助别人。