我试图运行一个破折号应用程序在我们的网站上的一个子目录。我得到一个403禁止时,试图访问网站。在/etc/httpd/logs/ssl_error_logs
我得到错误:
[Tue Jan 03 13:53:42.973046 2023] [autoindex:error] [pid 50576] [client 134.94.71.5:60550] AH01276: Cannot serve directory /var/www/Typesetter/appname/: No matching DirectoryIndex (index.html,index.php,index.php) found, and server-generated directory index forbidden by Options directive
我想我可能在权限或虚拟主机设置上出了问题。但是我不知道出了什么问题。
我想在以下对象上运行 Jmeter 板:our-group.our-uni.com/appname
服务器运行在centos7上。
我得到了一个包含生化信息的数据文件夹,以提供给/var/www/html/appname/data/
中的用户,如果我转到our-group.our-uni.com/appname/data/datapoint1.pt
,我可以从该文件夹下载数据。
既然这样可以工作,我也可以把一个index.html/index.php页面没有问题,我认为我的虚拟主机设置指向WSGI是不正确的?
错误提示cannot service directory /var/www/Typesetter/appname/
,但此目录是指向/var/www/html/appname/
的符号链接。
虚拟主机文件appname.conf
位于/etc/httpd/conf.d/
:
<VirtualHost *:80>
ServerName our-group.our-uni.com
DocumentRoot /var/www/html/appname
Errorlog /var/www/html/appname/appname-error.log
Alias /topenzyme /var/www/html/topenzmye
WSGIDaemonProcess appname user=apache group=apache threads=5 python-path=/var/www/html/appname/appname-env
WSGIScriptAlias /appname /var/www/html/appname/testapp.wsgi
<Directory /var/www/html/appname>
WSGIProcessGroup appname
WSGIApplicationGroup %{GLOBAL}
Options Indexes FollowSymLinks ExecCGI
Require all granted
</Directory>
</VirtualHost>
我也试着改成<Directory /var/www/typesetter/appname>
,但也不管用。/var/www/html/appname/
中testapp.wsgi
的含量:
import sys, os
sys.path.insert(0, '/var/www/html/appname')
from testapp import app as application
/var/www/html/appname/
中testapp.py
的含量:
from flask import Flask
app = Flask(__name__)
@app.route('/topenzyme/')
def main():
return 'Hello world'
if __name__ == '__main__':
app.run()
权限设置:
-rwxr-xr-x. 1 apache apache 148 Jan 3 13:37 testapp.py
-rwxr-xr-x. 1 apache apache 100 Jan 3 13:38 testapp.wsgi
我也尝试了777,但从我所读到的755权限应该足够了?
如果我做httpd -M
,我得到wsgi_module (shared)
。wsgi模块应该是可用的。
我尝试了其他帖子中的各种虚拟主机配置,也遇到了类似的问题。
我真的不知道为什么这行不通。
我的配置设置是否有问题,或者是其他问题?
1条答案
按热度按时间bwleehnv1#
找到问题了。我的Apache设置配置错误。
由于我们已经在这个域上托管了一个网站,我不应该尝试为子目录设置一个虚拟主机。从我现在的理解,这只适用于设置(子)域。有了这种结构的设置它的appname.conf文件得到添加已经存在的虚拟主机配置。
/etc/httpd/conf.d/appname.conf
现在改为:这相应地将wsgi应用程序链接到我想要的子目录位置(our-group.our-uni.com/appname)