cat /etc/nginx/nginx.conf
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
server {
listen 8080;
server_name localhost;
index index.html index.htm index.php;
root /var/www/html;
}
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;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 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;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
cat /etc/apache2/sites-enabled/000-default.conf
server {
listen 8080;
server_name localhost;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
何时在浏览器中输入127.0.0.1:8080。
何时输入127.0.0.1:8080/wp
我的wordpress是在浏览器中构建的。
文件自动下载,文件内容如下:
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
为什么我的wordpress无法正确显示在nginx上?
答案 0 :(得分:0)
让我们逐一处理这些问题:
1 - 403禁止回复
您获得此响应的原因很可能是由于 / var / www 目录的权限不足。 像这样更改这些权限:
$ sudo chmod 0755 -R /var/www
2 - 代替WP,提供包含PHP代码的文本文件(带有BIN扩展名)
这是因为您要么缺少正确的软件包( php5-fpm ),要么您的conf文件中存在一些配置错误。
首先,确保 / var / www / html 目录中的任何内容都归用户 www-data 所有,如下所示:
$ sudo chown -R www-data /var/www/html/*
现在,如果您还没有,请在发行版的软件包管理器中安装 php5-fpm 软件包。对于Ubuntu:
$ sudo apt-get install php5-fpm
接下来,您必须在3个配置文件中进行一些小的更改:
/etc/php5/fpm/pool.d/www.conf 中的A)
确保以下行存在,如果不添加
/etc/php5/fpm/php.ini 中的listen = /var/run/php5-fpm.sock
B) 找到以下内容(可能默认注释)line
; cgi.fix_pathinfo = 1
取消注释并将其值设置为0
/etc/nginx/nginx.conf 中的C)
进行以下更改:
在服务器规则中添加以下规则块(位于 root / var / www / html; 行下方):
location / {
try_files $uri $uri/ /index.html;
}
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;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
最后,重启php5-fpm和nginx服务。 在Ubuntu中(没有systemd):
$ sudo service php5-fpm restart
$ sudo service nginx restart
这应该有助于解决这些问题。
您可以在 nginx 和 Wordpress here上找到(有些高级)文档。