valet: Nginx is not starting up
Description:
I’m doing a fresh install on my M1 Mac, unfortunately after running valet install
, nginx is not starting up.
Running less /opt/homebrew/var/log/nginx/error.log
, returns:
2023/01/26 19:38:40 [emerg] 18481#0: unexpected end of parameter, expecting “;” in command line
Steps To Reproduce:
- Install Homebrew
brew install php
brew install composer
composer global require laravel/valet
valet install
The output
Stopping nginx...
Installing nginx configuration...
Installing nginx directory...
Installing and configuring phpfpm...
Updating PHP configuration for php@8.2...
Restarting php...
Updating Dnsmasq configuration...
Restarting dnsmasq...
Valet is configured to serve for TLD [.test]
Restarting nginx...
Valet installed successfully!
Diagnosis
sw_vers
ProductName: macOS ProductVersion: 13.2 BuildVersion: 22D49
valet --version
Laravel Valet 3.3.0
cat ~/.config/valet/config.json
{ "tld": "test", "loopback": "127.0.0.1", "paths": [ "/Users/foo/Sites" ] }
cat ~/.composer/composer.json
{ "require": { "laravel/valet": "^3.3", "laravel/installer": "^4.2" } }
composer global diagnose
Changed current directory to /Users/foo/.composer Checking composer.json: WARNING No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license. Checking platform settings: OK Checking git settings: OK git version 2.37.1 Checking http connectivity to packagist: OK Checking https connectivity to packagist: OK Checking github.com rate limit: OK Checking disk free space: OK Checking pubkeys: FAIL Missing pubkey for tags verification Missing pubkey for dev verification Run composer self-update --update-keys to set them up Checking composer version: OK Composer version: 2.5.1 PHP version: 8.2.1 PHP binary path: /opt/homebrew/Cellar/php/8.2.1_1/bin/php OpenSSL version: OpenSSL 1.1.1s 1 Nov 2022 cURL version: 7.87.0 libz 1.2.11 ssl (SecureTransport) OpenSSL/1.1.1s zip: extension present, unzip present, 7-Zip not available
composer global outdated
Changed current directory to /Users/foo/.composer Info from https://repo.packagist.org: #StandWithUkraine Legend: ! patch or minor release available - update recommended ~ major release available - update possibleDirect dependencies required in composer.json: Everything up to date
Transitive dependencies not required in composer.json: tightenco/collect v8.83.27 ~ v9.47.0 Collect - Illuminate Collections as a s…
ls -al /etc/sudoers.d/
total 16 drwxr-xr-x 4 root wheel 128 Jan 26 10:49 . drwxr-xr-x 80 root wheel 2560 Jan 26 19:07 .. -rw-r--r-- 1 root wheel 83 Jan 26 10:49 brew -rw-r--r-- 1 root wheel 86 Jan 26 10:49 valet
brew config
HOMEBREW_VERSION: 3.6.20 ORIGIN: https://github.com/Homebrew/brew HEAD: 344d32bf7f40183359592ef81ca6486e0587981b Last commit: 7 days ago Core tap ORIGIN: https://github.com/Homebrew/homebrew-core Core tap HEAD: 1d968739de1ce43d98e62a11896720c0d40c105c Core tap last commit: 3 hours ago Core tap branch: master HOMEBREW_PREFIX: /opt/homebrew HOMEBREW_CASK_OPTS: [] HOMEBREW_MAKE_JOBS: 8 Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby CPU: octa-core 64-bit arm_firestorm_icestorm Clang: 14.0.0 build 1400 Git: 2.37.1 => /Library/Developer/CommandLineTools/usr/bin/git Curl: 7.86.0 => /usr/bin/curl macOS: 13.2-arm64 CLT: 14.2.0.0.1.1668646533 Xcode: N/A Rosetta 2: false
brew services list
Name Status User File dnsmasq none root nginx none root php none root
brew list --formula --versions | grep -E "(php|nginx|dnsmasq|mariadb|mysql|mailhog|openssl)(@\d\..*)?\s"
dnsmasq 2.88 nginx 1.23.3.reinstall 1.23.3 openssl@1.1 1.1.1s php 8.2.1_1
brew outdated
brew tap
homebrew/cask homebrew/core homebrew/services nicoverbruggen/cask
php -v
PHP 8.2.1 (cli) (built: Jan 12 2023 03:48:24) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.1, Copyright (c) Zend Technologies with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies
which -a php
/opt/homebrew/bin/php
php --ini
Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.2 Loaded Configuration File: /opt/homebrew/etc/php/8.2/php.ini Scan for additional .ini files in: /opt/homebrew/etc/php/8.2/conf.d Additional .ini files parsed: /opt/homebrew/etc/php/8.2/conf.d/error_log.ini, /opt/homebrew/etc/php/8.2/conf.d/ext-opcache.ini, /opt/homebrew/etc/php/8.2/conf.d/php-memory-limits.ini
nginx -v
nginx version: nginx/1.23.3
curl --version
curl 7.86.0 (x86_64-apple-darwin22.0) libcurl/7.86.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.47.0 Release-Date: 2022-10-26 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL threadsafe UnixSockets
php --ri curl
curlcURL support => enabled cURL Information => 7.87.0 Age => 10 Features AsynchDNS => Yes CharConv => No Debug => No GSS-Negotiate => No IDN => Yes IPv6 => Yes krb4 => No Largefile => Yes libz => Yes NTLM => Yes NTLMWB => Yes SPNEGO => Yes SSL => Yes SSPI => No TLS-SRP => Yes HTTP2 => Yes GSSAPI => Yes KERBEROS5 => Yes UNIX_SOCKETS => Yes PSL => No HTTPS_PROXY => Yes MULTI_SSL => Yes BROTLI => Yes ALTSVC => Yes HTTP3 => No UNICODE => No ZSTD => Yes HSTS => Yes GSASL => No Protocols => dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtmpe, rtmps, rtmpt, rtmpte, rtmpts, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp Host => aarch64-apple-darwin22.1.0 SSL Version => (SecureTransport) OpenSSL/1.1.1s ZLib Version => 1.2.11 libSSH Version => libssh2/1.10.0
Directive => Local Value => Master Value curl.cainfo => no value => no value
~/.composer/vendor/laravel/valet/bin/ngrok version
sudo: unable to execute /Users/foo/.composer/vendor/laravel/valet/bin/ngrok: Bad CPU type in executable
ls -al ~/.ngrok2
ls: /Users/foo/.ngrok2: No such file or directory
brew info nginx
==> nginx: stable 1.23.3 (bottled), HEAD HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server https://nginx.org/ /opt/homebrew/Cellar/nginx/1.23.3 (26 files, 2.2MB) * Poured from bottle on 2023-01-26 at 19:37:05 /opt/homebrew/Cellar/nginx/1.23.3.reinstall (23 files, 2.2MB) Built from source From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb License: BSD-2-Clause ==> Dependencies Required: openssl@1.1, pcre2 ==> Options --HEAD Install HEAD version ==> Caveats Docroot is: /opt/homebrew/var/wwwThe default port has been set in /opt/homebrew/etc/nginx/nginx.conf to 8080 so that nginx can run without sudo.
nginx will load all files in /opt/homebrew/etc/nginx/servers/.
To restart nginx after an upgrade: brew services restart nginx Or, if you don’t want/need a background service you can just run: /opt/homebrew/opt/nginx/bin/nginx -g ‘daemon off;’ ==> Analytics install: 42,227 (30 days), 121,545 (90 days), 471,668 (365 days) install-on-request: 42,163 (30 days), 121,399 (90 days), 470,870 (365 days) build-error: 6 (30 days)
brew info php
==> php: stable 8.2.1 (bottled), HEAD General-purpose scripting language https://www.php.net/ /opt/homebrew/Cellar/php/8.2.1_1 (519 files, 83.3MB) * Poured from bottle on 2023-01-26 at 10:22:08 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/php.rb License: PHP-3.01 ==> Dependencies Build: httpd, pkg-config Required: apr, apr-util, argon2, aspell, autoconf, curl, freetds, gd, gettext, gmp, icu4c, krb5, libpq, libsodium, libzip, oniguruma, openldap, openssl@1.1, pcre2, sqlite, tidy-html5, unixodbc ==> Options --HEAD Install HEAD version ==> Caveats To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php_module /opt/homebrew/opt/php/lib/httpd/modules/libphp.so<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
Finally, check DirectoryIndex includes index.php DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in: /opt/homebrew/etc/php/8.2/
To restart php after an upgrade: brew services restart php Or, if you don’t want/need a background service you can just run: /opt/homebrew/opt/php/sbin/php-fpm --nodaemonize ==> Analytics install: 150,179 (30 days), 416,096 (90 days), 1,504,842 (365 days) install-on-request: 133,597 (30 days), 367,946 (90 days), 1,297,607 (365 days) build-error: 211 (30 days)
brew info openssl
==> openssl@3: stable 3.0.7 (bottled) [keg-only] Cryptography and SSL/TLS Toolkit https://openssl.org/ Not installed From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssl@3.rb License: Apache-2.0 ==> Dependencies Required: ca-certificates ==> Caveats A CA file has been bootstrapped using certificates from the system keychain. To add additional certificates, place .pem files in /opt/homebrew/etc/openssl@3/certsand run /opt/homebrew/opt/openssl@3/bin/c_rehash
openssl@3 is keg-only, which means it was not symlinked into /opt/homebrew, because macOS provides LibreSSL.
==> Analytics install: 266,727 (30 days), 698,319 (90 days), 2,044,267 (365 days) install-on-request: 82,910 (30 days), 312,489 (90 days), 1,317,297 (365 days) build-error: 219 (30 days)
openssl version -a
LibreSSL 3.3.6 built on: date not available platform: information not available options: bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) blowfish(idx) compiler: information not available OPENSSLDIR: "/private/etc/ssl"
openssl ciphers
AEAD-CHACHA20-POLY1305-SHA256:AEAD-AES256-GCM-SHA384:AEAD-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:GOST2012256-GOST89-GOST89:DHE-RSA-CAMELLIA256-SHA256:DHE-RSA-CAMELLIA256-SHA:GOST2001-GOST89-GOST89:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA256:CAMELLIA256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA256:DHE-RSA-CAMELLIA128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA256:CAMELLIA128-SHA:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:RC4-MD5:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA
sudo nginx -t
nginx: the configuration file /opt/homebrew/etc/nginx/nginx.conf syntax is ok nginx: configuration file /opt/homebrew/etc/nginx/nginx.conf test is successful
which -a php-fpm
/opt/homebrew/sbin/php-fpm
/opt/homebrew/opt/php/sbin/php-fpm -v
PHP 8.2.1 (fpm-fcgi) (built: Jan 12 2023 03:48:27) Copyright (c) The PHP Group Zend Engine v4.2.1, Copyright (c) Zend Technologies with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies
sudo /opt/homebrew/opt/php/sbin/php-fpm -y /opt/homebrew/etc/php/8.2/php-fpm.conf --test
[26-Jan-2023 19:48:34] NOTICE: configuration file /opt/homebrew/etc/php/8.2/php-fpm.conf test is successful
ls -al ~/Library/LaunchAgents | grep homebrew
ls -al /Library/LaunchAgents | grep homebrew
ls -al /Library/LaunchDaemons | grep homebrew
-rw-r--r-- 1 root admin 797 Jan 26 19:38 homebrew.mxcl.dnsmasq.plist -rw-r--r-- 1 root admin 695 Jan 26 19:38 homebrew.mxcl.nginx.plist -rw-r--r-- 1 root admin 781 Jan 26 19:38 homebrew.mxcl.php.plist
ls -al /Library/LaunchDaemons | grep "com.laravel.valet."
ls -aln /etc/resolv.conf
lrwxr-xr-x 1 0 0 22 Jan 14 08:57 /etc/resolv.conf -> ../var/run/resolv.conf
cat /etc/resolv.conf
# # macOS Notice # # This file is not consulted for DNS hostname resolution, address # resolution, or the DNS query routing mechanism used by most # processes on this system. # # To view the DNS configuration used by this system, use: # scutil --dns # # SEE ALSO # dns-sd(1), scutil(8) # # This file is automatically generated. # nameserver 2402:1980:314:fa2e::d2 nameserver 192.168.72.250
ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP> inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 nd6 options=201<PERFORMNUD,DAD>
sh -c 'echo "------\n/opt/homebrew/etc/nginx/valet/valet.conf\n---\n"; cat /opt/homebrew/etc/nginx/valet/valet.conf | grep -n "# valet loopback"; echo "\n------\n"'
------ /opt/homebrew/etc/nginx/valet/valet.conf ---3: #listen VALET_LOOPBACK:80; # valet loopback
------
sh -c 'for file in ~/.config/valet/dnsmasq.d/*; do echo "------\n~/.config/valet/dnsmasq.d/$(basename $file)\n---\n"; cat $file; echo "\n------\n"; done'
------ ~/.config/valet/dnsmasq.d/tld-test.conf ---address=/.test/127.0.0.1 listen-address=127.0.0.1
------
sh -c 'for file in ~/.config/valet/nginx/*; do echo "------\n~/.config/valet/nginx/$(basename $file)\n---\n"; cat $file | grep -n "# valet loopback"; echo "\n------\n"; done'
------ ~/.config/valet/nginx/* ---cat: /Users/foo/.config/valet/nginx/*: No such file or directory
------
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 1
- Comments: 15
I have fixed this error at my place. I don’t want to duplicate, but I’ve provided a link to a comment where I pointed out what I did and now I no longer have this problem.
https://github.com/Homebrew/homebrew-core/pull/121021#issuecomment-1405330022
Referring to this PR https://github.com/Homebrew/homebrew-core/pull/121639.
I can confirm that this issue has been fixed, nginx starts normally now.
Consider running
brew update && brew reinstall nginx
. Thanks 👍🏻A workout to get Nginx running for me has been to run
sudo nginx
in terminal for some reason that then allows nginx to work for me with Valet.I still get the error in Brew services however it lets me still get my work done. Seems like a core Homebrew issue.
Perfect, thanks @xartuu, now it works with the secure links with your temporary fix 👍
@xartuu this fixed the problem. Hopefully they can have a release that contains a fix for this.