我正在tomcat上运行一个网站,我想将我的博客设置在与example.com/blog
相同网站的子目录下
我尝试使用多种设置,但都没有。有些会给出502错误,有些404和以下配置会给出未指定输入文件错误。
server {
listen 80;
server_name www.example.com;
gzip on;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Ip $remote_addr;
proxy_pass http://localhost:8080;
}
location ^~ /blog{
root /home/myubuntu/www/blog;
index index.php index.html index.htm;
try_files $uri $uri/ /blog/index.php?q=$uri&$args;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
我在子域名上运行同一个博客并成功进行了以下配置:
server {
listen 80;
root /home/myubuntu/www/blog;
index index.php index.html index.htm;
server_name blog.example.com;
gzip on;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx.html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
有人可以告诉我,我做错了吗
答案 0 :(得分:0)
我是同一个问题,经过2天的搜索,结合设置和搜索......我做了一些对我有用的东西。 我正在运行nginx 1.8 Wordpress ......老实说,不知道......
这是我的配置
server {
listen 80;
server_name www.example.com example.com;
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location / {
root /http;
index index.php index.html index.htm;
try_files $uri $uri/ @wordpress;
}
location ~ \.php$ {
root /http/wordpress;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location @wordpress {
try_files $uri /index.php;
fastcgi_intercept_errors on;
}
location /wordpress {
try_files $uri $uri/ @wordpress;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
}
我希望这可以帮助你...
答案 1 :(得分:0)
以下是设置路径:
etc/nginx/sites-availability/default
您需要使用wordpress遵循nginx中的最小设置。 server {
listen 80;
root /var/www/html;
index index.php;
server_name 182.71.214.253;
location /blogs {
try_files $uri $uri/ /blogs/index.php?$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
#root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on the php-fpm socket
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}} </code> </pre> After this settings,You need to restart the two services.<pre><code>1:NGINX : sudo service nginx restart<br/>2:php5-fpm : sudo service php5-fpm restart</code></pre><br/>After that your website is working fine.<br/>If still needs problem then share with us.