我正在尝试使用 Mono 托管 ASP.NET Web 窗体应用程序。我已将 Mono 3.0.7 和 XSP 2.10.2 从源代码安装到 /usr/bin 目录中。然后我使用以下命令启动了 mono 服务器:
fastcgi-mono-server4 /applications=www.example.com:/:/var/www/example/ /socket=tcp:127.0.0.1:9000 /verbose=True /printlog=True
但是,当我浏览时http://www.example.com
,出现 502 Bad Gateway 错误。我看到记录了以下错误:
[2014-11-10 15:30:01Z] Error Failed to process connection. Reason: Could not load file or assembly 'fastcgi-mono-server4, Version=2.10.2.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. The system cannot find the file specified.
那么为什么找不到该文件呢?
我尝试添加/usr/bin
到我的MONO_PATH
,但没有帮助。
这是我的 nginx 配置:
server {
listen 80;
server_name www.example.com 172.245.43.220;
access_log /var/log/nginx/example.access.log main;
root /var/www/example;
index Default.aspx;
location / {
try_files $uri $uri/ /Default.aspx;
fastcgi_index Default.aspx;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
答案1
我最终的解决方案是放弃 CentOS,安装 Ubuntu 14.04,然后使用 apt-get 进行安装mono-complete
。mono-fastcgi-server4
虽然不太理想,但这是唯一对我有用的方法。