Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
1

Bash - нет такого процесса. Пишет при попытке перезагрузить nginx на ubuntu

29.07.2015, 11:24. Показов 3470. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
С конфигурационными файлами все в порядке.

Bash
1
2
3
root@maxserver:~# nginx -c /etc/nginx/nginx.conf -t**
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful


При попытке перечитать конфиг файл пишет такое.

Bash
1
2
root@maxserver:~# kill -HUP `cat /var/run/nginx.pid`
-bash: kill: (5289) - No such process


Если перезагружать то пишет fail

Bash
1
2
3
root@maxserver:~# sudo /etc/init.d/nginx restart
 * Restarting nginx nginx                                [fail] 
root@maxserver:~#

В чем может быть причина? Почему он сообщает, что bash - нет такого процесса?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2015, 11:24
Ответы с готовыми решениями:

Windows Server 2003: Dropbox, при попытке подключения к интернету для синхронизации пишет, что нет соединенияи
Доброго времени суток,уважаемые форумчане! Прошу помощи в разрешении проблемы. Имеется компьютер с...

Python3. Пишет, что нет такого модуля
У меня macOS. В начало своего кода я добавил from colorama import init from colorama import Fore,...

В базе есть логин и пароль, но скрипт пишет, что такого пользователя нет
Доброго времени суток. Пишу скрипт авторизации (новичок), и столкнулся с проблемой. Не могу понять,...

При попытке установки ХР в разделе форматирования пишет диски не доступны.
При попытке установки ХР в разделе форматирования пишет диски не доступны. Менял шлейф толку ноль,...

26
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
29.07.2015, 12:15 2
А сравните
Bash
1
2
pgrep -l ngnix 
cat /var/run/nginx.pid
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
29.07.2015, 12:36  [ТС] 3
Bash
1
2
3
4
root@maxserver:/# pgrep -l ngnix
root@maxserver:/# cat /var/run/nginx.pid
5289
root@maxserver:/#

pgrep -l ngnix - не выдает идентификатор процесса, а
cat /var/run/nginx.pid - идентификатор процесса отображает

Что это может значить?
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
29.07.2015, 14:39 4
Цитата Сообщение от tfox Посмотреть сообщение
pgrep -l ngnix - не выдает идентификатор процесса
значит что такого процесса нет. Попробуйте
Bash
1
grep -h '[n]gnix' <(ps aux) <(service --status-all 2>&1)
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
29.07.2015, 16:34  [ТС] 5
Цитата Сообщение от Marinero Посмотреть сообщение
grep -h '[n]gnix' <(ps aux) <(service --status-all 2>&1)
Возвращает пустую строку.

Добавлено через 18 секунд
Цитата Сообщение от Marinero Посмотреть сообщение
grep -h '[n]gnix' <(ps aux) <(service --status-all 2>&1)
Возвращает пустую строку.

Добавлено через 7 минут
Код
root@slovarik:/# grep -h '[n]gnix' <(ps aux) <(service --status-all 2>&1)

root@slovarik:/#
Ничего не понимаю.
Nginx вообще работает? Как заставить nginx перезагружаться без ошибок?
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
29.07.2015, 20:11 6
Bash
1
2
sudo service nginx status
grep -h '[n]ginx' <(ps aux) <(service --status-all 2>&1)
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
29.07.2015, 22:27  [ТС] 7
Цитата Сообщение от Marinero Посмотреть сообщение
1
2
sudo service nginx status
grep -h '[n]ginx' <(ps aux) <(service --status-all 2>&1)
Выполнил две команды.

Код
root@maxserver:/# sudo service nginx status
 * nginx is not running
root@maxserver:/# grep -h '[n]ginx' <(ps aux) <(service --status-all 2>&1)
www-data 11700  0.0  0.3 3465836 31896 ?       S    Jul28   0:14 nginx: worker process
www-data 11701  0.0  0.4 3465836 32364 ?       S    Jul28   0:13 nginx: worker process
www-data 11702  0.0  0.3 3465836 31940 ?       S    Jul28   0:14 nginx: worker process
www-data 11703  0.0  0.3 3465836 31916 ?       S    Jul28   0:15 nginx: worker process
www-data 11704  0.0  0.3 3465836 25504 ?       S    Jul28   0:00 nginx: cache manager process
 [ - ]  nginx
root@maxserver:/#
Насколько я понимаю.
Первая команда сообщает, что nginx не запущен. Но сайты при этом работают.
Вторая команда сообщает, что какие то процессы nginx работают.

Я ничего не понимаю. Nginx вроде работает и вроде не работает?

Добавлено через 3 минуты
Код
root@maxserver:/# sudo service nginx start
root@maxserver:/# sudo service nginx stop
root@maxserver:/# sudo service nginx restart
 * Restarting nginx nginx         [fail] 
root@maxserver:/#
Получается говоришь nginx старт он молчит. Говоришь стоп он тоже молчит. Говоришь рестарт он отвечает fail

Я в шоке. Как его поднять?
0
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,262
Записей в блоге: 7
29.07.2015, 22:29 8
Хм... А если
Bash
1
sudo systemctrl status nginx
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
29.07.2015, 22:32  [ТС] 9
Цитата Сообщение от Cra3y Посмотреть сообщение
sudo systemctrl status nginx
Пишет вот это.

Код
root@:maxserver/# sudo systemctrl status nginx
sudo: systemctrl: command not found
root@maxserver:/#
0
1362 / 1074 / 110
Регистрация: 16.03.2012
Сообщений: 4,543
29.07.2015, 23:58 10
Цитата Сообщение от tfox Посмотреть сообщение
systemctrl
systemctl

Bash
1
tail /var/log/nginx/error.log
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.07.2015, 00:00 11
Цитата Сообщение от tfox Посмотреть сообщение
Я ничего не понимаю. Nginx вроде работает и вроде не работает
nginx запущен, но не как сервис, а как процесс.
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
30.07.2015, 09:27  [ТС] 12
Marinero, а как его запустить в качестве сервиса?
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.07.2015, 09:35 13
Давайте посмотрим
Bash
1
cat /etc/init.d/nginx
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
30.07.2015, 10:00  [ТС] 14
Цитата Сообщение от Marinero Посмотреть сообщение
Давайте посмотрим
Код BashВыделить код
1
cat /etc/init.d/nginx

Выполнил, получается



Код
root@maxserver:~# cd /
root@maxserver:/# cat /etc/init.d/nginx
#!/bin/sh

### BEGIN INIT INFO
# Provides:	  nginx
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nginx
NAME=nginx
DESC=nginx

# Include nginx defaults if available
if [ -r /etc/default/nginx ]; then
	. /etc/default/nginx
fi

test -x $DAEMON || exit 0

. /lib/init/vars.sh
. /lib/lsb/init-functions

PID=$(awk -F'[ \t;]+' '/[^#]pid/ {print $2}' /etc/nginx/nginx.conf)
if [ -z "$PID" ]
then
	PID=/run/nginx.pid
fi

# Check if the ULIMIT is set in /etc/default/nginx
if [ -n "$ULIMIT" ]; then
	# Set the ulimits
	ulimit $ULIMIT
fi

#
# Function that starts the daemon/service
#
do_start()
{
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started
	start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON --test > /dev/null \
		|| return 1
	start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON -- \
		$DAEMON_OPTS 2>/dev/null \
		|| return 2
}

test_nginx_config() {
	$DAEMON -t $DAEMON_OPTS >/dev/null 2>&1
}

#
# Function that stops the daemon/service
#
do_stop()
{
	# Return
	#   0 if daemon has been stopped
	#   1 if daemon was already stopped
	#   2 if daemon could not be stopped
	#   other if a failure occurred
	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PID --name $NAME
	RETVAL="$?"

	sleep 1
	return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
	start-stop-daemon --stop --signal HUP --quiet --pidfile $PID --name $NAME
	return 0
}

#
# Rotate log files
#
do_rotate() {
	start-stop-daemon --stop --signal USR1 --quiet --pidfile $PID --name $NAME
	return 0
}

#
# Online upgrade nginx executable
#
# "Upgrading Executable on the Fly"
# http://nginx.org/en/docs/control.html
#
do_upgrade() {
	# Return
	#   0 if nginx has been successfully upgraded
	#   1 if nginx is not running
	#   2 if the pid files were not created on time
	#   3 if the old master could not be killed
	if start-stop-daemon --stop --signal USR2 --quiet --pidfile $PID --name $NAME; then
		# Wait for both old and new master to write their pid file
		while [ ! -s "${PID}.oldbin" ] || [ ! -s "${PID}" ]; do
			cnt=`expr $cnt + 1`
			if [ $cnt -gt 10 ]; then
				return 2
			fi
			sleep 1
		done
		# Everything is ready, gracefully stop the old master
		if start-stop-daemon --stop --signal QUIT --quiet --pidfile "${PID}.oldbin" --name $NAME; then
			return 0
		else
			return 3
		fi
	else
		return 1
	fi
}

case "$1" in
	start)
		[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
		do_start
		case "$?" in
			0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
			2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
		esac
		;;
	stop)
		[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
		do_stop
		case "$?" in
			0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
			2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
		esac
		;;
	restart)
		log_daemon_msg "Restarting $DESC" "$NAME"

		# Check configuration before stopping nginx
		if ! test_nginx_config; then
			log_end_msg 1 # Configuration error
			exit 0
		fi

		do_stop
		case "$?" in
			0|1)
				do_start
				case "$?" in
					0) log_end_msg 0 ;;
					1) log_end_msg 1 ;; # Old process is still running
					*) log_end_msg 1 ;; # Failed to start
				esac
				;;
			*)
				# Failed to stop
				log_end_msg 1
				;;
		esac
		;;
	reload|force-reload)
		log_daemon_msg "Reloading $DESC configuration" "$NAME"

		# Check configuration before reload nginx
		#
		# This is not entirely correct since the on-disk nginx binary
		# may differ from the in-memory one, but that's not common.
		# We prefer to check the configuration and return an error
		# to the administrator.
		if ! test_nginx_config; then
			log_end_msg 1 # Configuration error
			exit 0
		fi

		do_reload
		log_end_msg $?
		;;
	configtest|testconfig)
		log_daemon_msg "Testing $DESC configuration"
		test_nginx_config
		log_end_msg $?
		;;
	status)
		status_of_proc -p $PID "$DAEMON" "$NAME" && exit 0 || exit $?
		;;
	upgrade)
		log_daemon_msg "Upgrading binary" "$NAME"
		do_upgrade
		log_end_msg 0
		;;
	rotate)
		log_daemon_msg "Re-opening $DESC log files" "$NAME"
		do_rotate
		log_end_msg $?
		;;
	*)
		echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}" >&2
		exit 3
		;;
esac

:
root@maxserver:/#
0
1362 / 1074 / 110
Регистрация: 16.03.2012
Сообщений: 4,543
30.07.2015, 10:02 15
Почему вы наотрез отказываетесь смотреть логи? Религия не позволяет?
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
30.07.2015, 10:27  [ТС] 16
Цитата Сообщение от Amet13 Посмотреть сообщение
Почему вы наотрез отказываетесь смотреть логи? Религия не позволяет?
В этих логах, ничего полезного я не увидел. В основном там спам или попытки брут-форса к PHPmyAdmin.
И еще в логах есть следы Вордпресса. Wordpress пытается запустить свой стандартный скрипт "крон", который проверяет наличие обновлений. Но получает в ответ 404 ошибку.
Думаю, что все это не имеет прямого отношения к nginx, который не хочет стартовать как сервис.

access_log /var/log/nginx/access.log;


error_log /var/log/nginx/error.log;
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
30.07.2015, 10:33  [ТС] 17
access_log /var/log/nginx/access.log;

error_log /var/log/nginx/error.log;
Вложения
Тип файла: docx access.docx (21.8 Кб, 1 просмотров)
Тип файла: docx error.docx (21.7 Кб, 1 просмотров)
0
1 / 1 / 0
Регистрация: 11.08.2013
Сообщений: 64
30.07.2015, 11:07  [ТС] 18
Еле добавил эти логи. Зачем на айтишном форуме такие жесткие ограничения в 15 000 символов? Людям же надо как то логи выкладывать.

Добавлено через 31 минуту
Просматривал логи. Заметил такую закономерность.
При выполнении следующих команд.

Код
Last login: Thu Jul 30 09:57:41 2015 from 154.112.153.137
root@maxserver:~# nginx -c /etc/nginx/nginx.conf -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@maxserver:~# kill -HUP `cat /var/run/nginx.pid`
-bash: kill: (5289) - No such process
root@maxserver:~# sudo /etc/init.d/nginx restart
 * Restarting nginx nginx     [fail] 
root@maxserver:~#
В access_log ничего не добавляется. Но вот в error_log пишутся такие строки:

Код
2015/07/30 10:39:58 [emerg] 7127#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/07/30 10:39:58 [emerg] 7127#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/07/30 10:39:58 [emerg] 7127#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/07/30 10:39:58 [emerg] 7127#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/07/30 10:39:58 [emerg] 7127#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/07/30 10:39:58 [emerg] 7127#0: still could not bind()
Наверное из-за этих ошибок, я не могу перезагрузить nginx или перечитать конфиг.
0
1362 / 1074 / 110
Регистрация: 16.03.2012
Сообщений: 4,543
30.07.2015, 11:26 19
Лучший ответ Сообщение было отмечено tfox как решение

Решение

Цитата Сообщение от tfox Посмотреть сообщение
Зачем на айтишном форуме такие жесткие ограничения в 15 000 символов?
Затем, что никто не будет читать эти 15000 символов.
Bash
1
2
man tail
man grep
Попробуйте сделать все по порядку.
Для начала проверьте кто слушает 80 порт:
Bash
1
2
lsof -i :80 или
netstat -tulpan | grep ":80"
Смотрим запущенные процессы nginx:
Bash
1
pgrep nginx -l
если выводятся процессы, то кикайте их:
Bash
1
pkill nginx
проверяете дальше, остались ли запущенные процессы:
Bash
1
pgrep nginx -l
если остались, убивайте через kill -9, иначе идем дальше.
После того, как убиты процессы nginx смотрим состояние:
Bash
1
2
3
service nginx status или
systemctl status nginx.service (я не в курсе что там сейчас в убунте с systemd)
nginx -t
Если статус показывает, что nginx не запущен и нет ошибок в конфиге, то запускаем его:
Bash
1
2
service nginx start или
systemctl start nginx.service
Параллельно в другой терминальной сессии смотрим логи:
Bash
1
tail -f /var/log/nginx/error.log
Если перезапуск сервиса пишет ок и в логах ошибок нет, проверяем слушает ли nginx порты:
Bash
1
2
lsof -i :80
lsof -i 443 если настроены виртхосты для SSL
либо через netstat:
Bash
1
2
netstat -tulpan | grep ":80"
netstat -tulpan | grep ":443"
1
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.07.2015, 12:38 20
А покажите
Bash
1
awk -F'[ \t;]+' '/[^#]pid/ {print $2}' /etc/nginx/nginx.conf
0
30.07.2015, 12:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2015, 12:38
Помогаю со студенческими работами здесь

При включение компьютера звука нет, нажимаю перезагрузить звук появляется.
С недавнего времени появились проблемы со звуком. При включение компьютера звука нет, нажимаю...

Программы самоудаляются. Но при попытке установить их пишет, что уже установлена
Проблема такая, программы самоудаляются. Но при попытке установить их пишет, что уже установлена....

Вытяжка Gunter&Hauer Agnessa60RW, пишет "Err" при попытке открыться
Вытяжка Gunter&amp;Hauer Agnessa60RW Проблема такая: включая движок, либо просто нажав кнопку открытия...

При попытке переустановки пишет exiting pxe rom и ничего не происходит
Ребят проблема,при попытке переустановить виндовс с 8 на 7 (через флешку) ставя легаси в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru