Please note that I am trying to setup a php laravel website on amazon aws EC2. I have been following this guide: https://www.clickittech.com/tutorial/deploy-laravel-on-aws-ec2/
When I get to the point where I need to execute this command:
$ nginx -t
It gives me these errors.
ubuntu@ip-172-31-1-135:/etc/nginx/sites-available$ nginx -t
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2023/06/25 01:14:54 [warn] 30686#30686: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2023/06/25 01:14:54 [emerg] 30686#30686: open() "/etc/nginx/sites-enabled/laravelapp.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:60
nginx: configuration file /etc/nginx/nginx.conf test failed
Does anyone have any suggestions? TIA.
UPDATE:
This is what I am getting now:
ubuntu@ip-172-31-1-135:~$ sudo nginx -t
nginx: [emerg] open() "/etc/nginx/sites-enabled/default" failed (2: No such file or directory) in /etc/nginx/nginx.conf:60
nginx: configuration file /etc/nginx/nginx.conf test failed
Here is nginx.conf
:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Here is my website conf (/etc/nginx/sites-available/ledca.conf
):
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/ledca/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}
UPDATE 2:
Thank you for the feedback, Ansgar! This is what I see:
ubuntu@ip-172-31-1-135:~$ sudo ls -l /etc/nginx/snippets/fastcgi-php.conf
-rw-r--r-- 1 root root 423 Jul 27 2022 /etc/nginx/snippets/fastcgi-php.conf
ubuntu@ip-172-31-1-135:~$ sudo ls -l /var/www/ledca/public
total 12
drwxrwxr-x 3 www-data www-data 4096 Jun 24 21:27 build
-rwxrwxr-x 1 www-data www-data 0 Jun 7 13:20 favicon.ico
-rwxrwxr-x 1 www-data www-data 1710 Jun 7 13:20 index.php
-rwxrwxr-x 1 www-data www-data 24 Jun 7 13:20 robots.txt
So I need to get /etc/nginx/sites-enabled/default
to link to /etc/nginx/sites-enabled/ledca.conf
?
UPDATE 3:
Executed these commands to resolve the issue:
ubuntu@ip-172-31-1-135:~$ sudo ls -l /etc/nginx/sites-enabled/ledca.conf /etc/nginx/sites-enabled/default
lrwxrwxrwx 1 root root 34 Jun 24 21:11 /etc/nginx/sites-enabled/default -> /etc/nginx/sites-available/default
lrwxrwxrwx 1 root root 37 Jun 25 02:20 /etc/nginx/sites-enabled/ledca.conf -> /etc/nginx/sites-available/ledca.conf
ubuntu@ip-172-31-1-135:~$
ubuntu@ip-172-31-1-135:~$ sudo sudo rm -rf /etc/nginx/sites-enabled/default
ubuntu@ip-172-31-1-135:~$ sudo sudo rm -rf /etc/nginx/sites-available/default
ubuntu@ip-172-31-1-135:~$
rwxrwxrwx 1 root root 37 Jun 25 02:20 /etc/nginx/sites-enabled/ledca.conf -> /etc/nginx/sites-available/ledca.conf
ubuntu@ip-172-31-1-135:~$ sudo ln -s /etc/nginx/sites-enabled/ledca.conf /etc/nginx/sites-available/default
ubuntu@ip-172-31-1-135:~$
ubuntu@ip-172-31-1-135:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful