Đối với tôi, tôi chạy "killall nginx" và khởi động nó bằng "sbin / nginx", có ai có kịch bản khởi động lại tốt hơn không?
BTW: Tôi cài đặt nginx từ nguồn, tôi không tìm thấy lệnh 'dịch vụ nginx' hoặc /etc/init.d/nginx
Đối với tôi, tôi chạy "killall nginx" và khởi động nó bằng "sbin / nginx", có ai có kịch bản khởi động lại tốt hơn không?
BTW: Tôi cài đặt nginx từ nguồn, tôi không tìm thấy lệnh 'dịch vụ nginx' hoặc /etc/init.d/nginx
Câu trả lời:
Gói nginx cung cấp tập lệnh /etc/init.d/nginx cung cấp chức năng start | stop | restart | reload ... thông thường.
/etc/init.d/nginx restart
sẽ khởi động lại nginx
như ý muốn
service nginx restart
Biên tập
Đây là một liên kết đến một tập lệnh mà bạn có thể sử dụng như /etc/init.d/nginx.
http://wiki.nginx.org/CommandLine
Bên trong các liên kết có một số lệnh khởi động và dừng máy chủ nginx
để bắt đầu nginx:
/usr/bin/nginx
để dừng nginx:
/usr/bin/nginx -s stop
/usr/bin
phụ thuộc vào nơi bạn cài đặt nginx của bạn
Vì một số lý do, trên hệ thống nhúng tôi đang làm việc với nó là:
systemctl restart nginx
Sau khi chỉnh sửa các tệp cấu hình, tôi khởi động lại nó như thế này trên OpenBSD:
kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
tail -2 /var/www/logs/error.log ; date
Các HUP
tín hiệu làm cho nó tái đọc file cấu hình của nó, là tail
chương trình cho dù bất kỳ lỗi nào đã gặp phải, các date
puts những lỗi vào ngữ cảnh (một lỗi đã xảy ra chỉ khi thời gian từ date
phù hợp với thời gian từ nhật ký), và sleep 1
đảm bảo rằng có không có điều kiện chủng tộc giữa việc đọc từ nhật ký trước khi nginx có thời gian để viết cho nó.
Cái này nó thì trông như thế nào:
Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns#
Thực tế là thời gian từ nhật ký không nằm trong khoảng thời gian được in bằng cách date
chỉ ra rằng không có lỗi nào xảy ra trong khoảng thời gian này và cấu hình mới là một lỗi tốt.
Bạn có thể tìm thấy các tập lệnh init trong NginX Wiki: http://wiki.nginx.org/Configuration#Init_Scripts
Hàm khởi động lại chạy lệnh sau:
BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf
Nếu bạn đã cài đặt nginx trong / opt / nginx, hãy thay thế BASEDIR=
bằng BASEDIR=/opt/nginx
.
Thông thường, các gói được cài đặt từ nguồn không cài đặt tập lệnh khởi động tại /etc/init.d/
. Bạn có hai lựa chọn.
1- Bạn có thể tìm tập lệnh trong thư mục mã nguồn hoặc trên trang web và tùy chỉnh tập lệnh nếu cần.
2- Bạn có thể sao chép tập lệnh khởi động cho gói khác từ hệ thống của mình và tùy chỉnh nó.