Django本地开发环境是pycharm专业版的Django3.2.9,python版本3.8。问题如标题:部署到服务器之后前台后台的静态样式调用不出来。测试地址:a.zaimengli.com
服务器部署的相关信息如下:
"""
………………
………………
DEBUG = True
ALLOWED_HOSTS = ['*']
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
……
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'zaimengli.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
'libraries': { # Adding this section should work around the issue.
'staticfiles' : 'django.templatetags.static',
},
},
},
]
WSGI_APPLICATION = 'zaimengli.wsgi.application'
……
……
……
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "article/static")
MEDIA_URL = '/uploads/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/uploads')
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
server
{
listen 80;
server_name a.zaimengli.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/a.zaimengli.com;
location /static/ {
root /www/wwwroot/zaimengli/article/static;
}
location /media/ {
root /www/wwwroot/zaimengli/static/uploads;
}
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
#清理缓存规则
location ~ /purge(/.*) {
proxy_cache_purge cache_one $host$1$is_args$args;
#access_log /www/wwwlogs/a.zaimengli.com_purge_cache.log;
}
#引用反向代理规则,注释后配置的反向代理将无效
include /www/server/panel/vhost/nginx/proxy/a.zaimengli.com/*.conf;
include enable-php-00.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/a.zaimengli.com.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
access_log /www/wwwlogs/a.zaimengli.com.log;
error_log /www/wwwlogs/a.zaimengli.com.error.log;
}
反复确认过路径设置应该没有问题,而且nginx也重启过后再检验的,都是无法加载css。
请问谁能指点下问题出在哪里了吗?
首先问题肯定在nginx
第一nginx是否有静态文件目录的权限
第二配置文件 重定向静态文件那里 root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
可以试一下alias
location /static/ {
alias /www/wwwroot/zaimengli/article/static/;
}
location /media/ {
alias /www/wwwroot/zaimengli/static/uploads/;
}
nginx的日志有啥报错啊?
没有看到报错,只是记录了404状态
```c
101.91.60.105 - - [03/Jan/2022:12:50:16 +0800] "GET / HTTP/1.1" 200 14763 "-" "Mozilla/5.0 (Linux; Android 4.4.4; Coolpad Y82-520 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 MicroMessenger/6.5.4.1000 NetType/4G Language/zh_CN"
101.91.60.105 - - [03/Jan/2022:12:50:20 +0800] "GET /static/js/jquery-1.8.3.min.js HTTP/1.1" 404 616 "http://a.zaimengli.com/" "Mozilla/5.0 (Linux; Android 4.4.4; Coolpad Y82-520 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 MicroMessenger/6.5.4.1000 NetType/4G Language/zh_CN"
101.91.60.105 - - [03/Jan/2022:12:50:28 +0800] "GET /static/js/comm.js HTTP/1.1" 404 604 "http://a.zaimengli.com/" "Mozilla/5.0 (Linux; Android 4.4.4; Coolpad Y82-520 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 MicroMessenger/6.5.4.1000 NetType/4G Language/zh_CN"
101.132.102.65 - - [03/Jan/2022:13:36:06 +0800] "GET http://a.zaimengli.com/ HTTP/1.1" 200 4665 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/static/images/top.png HTTP/1.1" 404 608 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/static/images/writer.png HTTP/1.1" 404 611 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/static/images/next.png HTTP/1.1" 404 609 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/static/images/pre.png HTTP/1.1" 404 608 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/static/images/wx.jpg HTTP/1.1" 404 607 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/images/longad.jpg HTTP/1.1" 404 1350 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/uploads/tprdimg/30.jpg HTTP/1.1" 200 12037 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/uploads/tprdimg/23.jpg HTTP/1.1" 200 21856 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
101.132.102.65 - - [03/Jan/2022:13:36:08 +0800] "GET http://a.zaimengli.com/uploads/tprdimg/29.jpg HTTP/1.1" 200 11263 "-" "Mozilla/5.0 (iphone safari)iPhone Safari"
```
你好像没有这个目录吧?
root /www/wwwroot/a.zaimengli.com;
我同意l楼上 楼一的意见,你编辑器没有出现,也是nginx配置的问题,你看看编辑器的路径,然后确认配置即可