How to restart nginx on OS X

后端 未结 13 1021
无人共我
无人共我 2021-01-30 04:53

I\'m using nginx on OS X 10.8. Freshly installed nginx but can\'t find a way to restart nginx except kill nginx_pid say kill 64116

相关标签:
13条回答
  • 2021-01-30 05:28

    To reload config files:

    sudo nginx -s reload
    

    To fully restart nginx:

    sudo nginx -s quit
    sudo nginx
    

    Details

    There is no restart signal for nginx. From the docs, here are the signals that the master process accepts:

    SIGINT, SIGTERM  Shut down quickly.
    SIGHUP           Reload configuration, start the new worker process with a new configuration, and gracefully shut down old worker processes.
    SIGQUIT          Shut down gracefully.
    SIGUSR1          Reopen log files.
    SIGUSR2          Upgrade the nginx executable on the fly.
    SIGWINCH         Shut down worker processes gracefully.
    

    Presumably you could send these signals to the process id manually, but the nginx command has the flag nginx -s <signal> that sends signals to the master process for you. Your options are:

    stop    SIGTERM
    quit    SIGQUIT
    reopen  SIGUSR1
    reload  SIGHUP
    

    No need to futz with the pid manually.


    Edit: just realized much of this info was already in comments on the other answers. Leaving this here anyway to summarize the situation.

    0 讨论(0)
  • 2021-01-30 05:29

    check if this directory exists:

    /usr/local/var/run
    

    this error can occurs when nginx try to initialise pid file in localisation that doesn't exist.

    0 讨论(0)
  • 2021-01-30 05:33

    As a future resource, you can consult http://wiki.nginx.org/CommandLine

    Nginx probably runs as root, so you will need to run a variant of the following command to affect it.

    sudo nginx -s stop | reload | quit | reopen
    

    There is usually not much reason to restart Nginx like Apache would need. If you have modified a configuration file, you may just want to the reload option.

    0 讨论(0)
  • 2021-01-30 05:40

    What is your nginx pid file location? This is specified in the configuration file, default paths specified compile-time in the config script. You can search for it as such:

    find / -name nginx.pid 2>/dev/null (must issue while nginx is running)

    Solution:

    sudo mkdir -p /usr/local/var/run/
    ln -s /current/path/to/pid/file /usr/local/var/run/nginx.pid
    
    0 讨论(0)
  • 2021-01-30 05:43
    $ sudo nginx -c /usr/local/etc/nginx/nginx.conf
    $ sudo nginx -s reload
    

    Source Link: https://blog.csdn.net/github_33644920/article/details/51733436

    0 讨论(0)
  • 2021-01-30 05:43

    One way to stop or reload is through the below command,

    For stop:

    sudo /usr/local/nginx/sbin/nginx -s stop 
    

    Run reload only if the nginx is running:

    sudo /usr/local/nginx/sbin/nginx -s reload
    

    By doing like the above, you wont get nginx: [error] open() "/usr/local/var/run/nginx.pid" this issue

    0 讨论(0)
提交回复
热议问题