我目前正在空闲时间在一个小型网站上工作。为了开发,我将所有git存储库保存在〜/ git中。是否可以配置nginx,以便如果我转到localhost / A或localhost / B,它会分别使用〜/ git / A和〜/ git / B?
我正在使用fedora并尝试使用单个回购,但我一直得到404:
/etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name localhost;
root /home/MartenBE/git/;
index index.html index.php;
location /A/ {
alias /home/MartenBE/git/A/;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
答案 0 :(得分:0)
我认为只有以下内容适合您。
server {
listen 80;
server_name localhost;
root /home/MartenBE/git/;
index index.html index.php;
}
您不需要添加location
模块,因为您已经定义了root
。现在,如果您尝试 localhost / A / index.html ,Nginx将尝试在 /home/MartenBE/git/A/index.html 下找到它。
您正在尝试的请求是什么?
答案 1 :(得分:0)
首先,从主nginx conf文件中分离站点配置是很好的 请执行以下操作..
server
中删除所有/etc/nginx/nginx.conf
块。 使用以下内容在/etc/nginx/sites-available/yourconf
中创建文件。
server {
listen 80;
server_name localhost;
root /home/MartenBE/git/;
index index.html index.php;
}
在/etc/nginx/sites-enabled/yourconf
内创建配置文件的符号链接。
/etc/nginx/sites-enabled/default
&重新加载nginx配置。 注意:如果您使用的是ubuntu,请运行sudo service nginx reload