Я новичок в nginx и новичок в manuall server setup ...
У меня простой сервер 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
.... Странно, но если я захожу на этот домен через прокси-сервер, он работает нормально и загружает индексную страницу!!!
Я перезапустил службу dns на моем сервере centos7 и очистил dns в моей локальной системе windows (ipconfig /flushdns
), но я все еще получаю сообщение 503 Service Unavailable
!!!
Что я могу сделать, чтобы исправить это????
Нужно ли мне установить какой-то dns сервер на моем сервере centos?
Я знаю, что этот вопрос немного устарел, но несколько замечаний по настройке Centos 7 для HTTP.
Межсетевой экран
Centos 7 использует « firewalld », а не 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
Ваш веб-сайт должен быть видимым и обслуживаться с localhost , и теперь вы должны сделать то же самое, например, для своего IP-адреса, отличного от localhost; 'ссылки http://192.168.0.10 ' и проверьте тот же результат.
Доменное имя
Если вы создаете среду разработки для себя, и сервер находится в той же сети, что и вы, то вам не нужно доменное имя.Вы должны иметь возможность загрузить свой сервер через браузер, используя URL-адрес http://192.168.0.10 (очевидно, замените его на IP-адрес сервера). Если у вас есть только один веб-сайт на сервере, вы также можете получить к нему доступ из Интернета после перенаправления порта 80 на вашем маршрутизаторе. URL внешнего доступа будет иметь вид http: // ваш_публичный_ip_адрес (google 'whats my ip').
Однако, если у вас будет несколько веб-сайтов, вы должны получить доменное имя, иначе сервер не сможет их различить. Существует множество поставщиков бесплатных доменных имен, таких как noip.com и dyn.com. Вы можете указать различные доменные имена на своем общедоступном IP-адресе и успешно запустить среду разработки.
Выше приведены основы настройки домашнего веб-сервера. Следует помнить следующее:
После того, как вы все это сделали и протестировали веб-сайт работает, вам следует перезагрузить и повторно протестировать и убедиться, что все службы запускаются должным образом.
Вы закончили
Надеюсь, это кому-то поможет.