繁体   English   中英

如何配置Nginx以运行Wordpress和Django

[英]How to configure nginx to run Wordpress and Django

我看过几个类似的问题,但是它们似乎没有任何帮助。 我有一个vultr.com实例,以默认的1单击配置运行Wordpress。 Centos6如果重要的话。 这是(并且我希望它保留在)根目录( www.mysite.com )中。 我想让我的Django应用程序在www.mysite.com/crossfaded/运行。 我不想当前服务器发生任何停机,因此该服务器还没有域名关联。 我正在尝试仅使用IP来做到这一点。

Wordpress网站运行正常。

我一直在关注导向这里作为然后试图这一个 ,但是当我浏览到http://ip.add.re.ss/crossfaded/media/apple.jpg在我的浏览器,我从nginx的获得了404。 /crossfaded/media/给了我来自nginx的403, /crossfaded/invalidpath/给了我Wordpress服务的404,所以路由发生了一些变化。 我在偶然的时候做了chmod 777 apple.jpg ,这是一个权限问题,但是那没做。

我有一个预感,我已经弄不清楚了location块的语法,但是我不确定。

wordpress_http.conf

upstream php-handler-http {
        server 127.0.0.1:9000;
        #server unix:/var/run/php5-fpm.sock;
}

server {
        listen 80 default_server;
        server_name _;
        #server_name wordpress.example.com;

        root /var/www/html/;
        index index.php;

        # set max upload size
        client_max_body_size 2G;
        fastcgi_buffers 64 4K;

        access_log /var/log/nginx/wordpress_http_access.log combined;
        error_log /var/log/nginx/wordpress_http_error.log;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                try_files $uri $uri/ /index.php?$args ;
        }

        location ^~ /wp-admin/ {
                auth_basic "Restricted";
                auth_basic_user_file /etc/nginx/htpasswd/wpadmin;

                location ~* \.(htaccess|htpasswd) {
                        deny all;
                }

                location ~ \.php(?:$|/) {
                        fastcgi_split_path_info ^(.+\.php)(/.+)$;
                        include fastcgi_params;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_param PATH_INFO $fastcgi_path_info;
                        fastcgi_pass php-handler-http;
                        fastcgi_read_timeout 60s;
                }
        }

        location ~* \.(htaccess|htpasswd) {
                deny all;
        }

        location ~ \.php(?:$|/) {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_pass php-handler-http;
                fastcgi_read_timeout 60s;
        }

        # set long EXPIRES header on static assets
        location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires 30d;
                access_log off;
        }

location ~ /crossfaded/static/ {
            alias /root/crossfaded/static/;
    }

    location ~ /crossfaded/media/ {
        alias /root/crossfaded/media/ ;
    }
}

有两个问题:

  1. 我需要在别名的位置插入一个尖号(^),因此:

     location ^~ /crossfaded/static/ { alias /root/crossfaded/static/; } location ^~ /crossfaded/media/ { alias /root/crossfaded/media/ ; } 
    1. 服务器默认~//root/ Nginx需要从/到相关文件的所有目录的rx权限。 它没有那个。 将项目目录移动到/home/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM