Ruby on rails Rails应用程序和Wordpress博客在同一台服务器上-如何配置nginx?
我有一个海洋水滴。在nginx和PostgreSQL数据库上运行Rails 5应用程序。我已经安装了PHP、MySQL和Wordpress(WP到Ruby on rails Rails应用程序和Wordpress博客在同一台服务器上-如何配置nginx?,ruby-on-rails,wordpress,nginx,digital-ocean,Ruby On Rails,Wordpress,Nginx,Digital Ocean,我有一个海洋水滴。在nginx和PostgreSQL数据库上运行Rails 5应用程序。我已经安装了PHP、MySQL和Wordpress(WP到/home/deployer/blog目录) 这是我的/etc/nginx/sites available/default: upstream unicorn { server unix:/home/deployer/apps/myapp/shared/sockets/unicorn.myapp.sock fail_timeout=0; } se
/home/deployer/blog
目录)
这是我的/etc/nginx/sites available/default
:
upstream unicorn {
server unix:/home/deployer/apps/myapp/shared/sockets/unicorn.myapp.sock fail_timeout=0;
}
server {
listen 443 ssl;
server_name myapp.com;
ssl_certificate /etc/letsencrypt/live/myapp.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/myapp.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/ssl/certs/dhparam.pem;
return 301 https://www.myapp.com$request_uri;
}
server {
#listen 80 default deferred;
listen 443 ssl; # managed by Certbot
server_name www.myapp.com;
root /home/deployer/apps/myapp/current/public; # rails app
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
location ~ ^/(robots.txt|sitemap.xml.gz)/ {
root /home/deployer/apps/myapp/current/public;
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https; # added because of looping
proxy_redirect off;
proxy_pass http://unicorn;
}
# I added this blog for the WP blog
location /blog {
index index.php;
try_files $uri $uri/ /blog /index.php?$args;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
ssl_certificate /etc/letsencrypt/live/myapp.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/myapp.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/ssl/certs/dhparam.pem;
if ($scheme != "https") {
return 301 https://$host$request_uri;
} # managed by Certbot
}
修改此配置文件后重新启动nginx并转到www.myapp.com/blog
,我只收到Rails错误页面,上面说您要查找的页面不存在。
我找到了很多关于如何修改nginx配置以使WP博客在子域上工作的文章,但仍然找不到适合我的正确方法
你知道我做错了什么,为什么nginx不加载WP,而只是加载Rails应用吗?你至少需要定义fastcgi\u pass或其他php代理。但无论如何,不要认为有一种简单的方法可以在同一个域名上实现这一点,使用特定的域和子域要容易得多。然后,对于每个单独的服务器块,您都需要执行相同的操作。你能做到吗?你至少需要为php的东西定义fastcgi_pass或其他php代理。但无论如何,不要认为有一种简单的方法可以在同一个域名上实现这一点,使用特定的域和子域要容易得多。然后,对于每个单独的服务器块,您都需要执行相同的操作。你能做到吗?