我目前在我的DigitalOcean的Ubuntu服务器上启动并运行了2个PHP应用程序。还有第三个,但它不起作用。所有这三个PHP项目都配置为在不同的端口上运行。 同时,使用NGINX服务器,我已经配置了反向代理。配置如下。
/etc/nginx/nginix.conf
server {
listen 80;
server_name IP;
location / {
#Assinged to a python project
}
location /php_project_1 {
proxy_pass http://IP:5002;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
}
location /php_project_2 {
proxy_pass http://IP:5003;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
}
location /php_project_3 {
proxy_pass http://IP:5004;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
}
}
我还在 / etc / apache2 / sites-available 中创建了3个配置文件。
问题
php_project_1和php_project_2是使用核心PHP开发的,它们可以正常工作。
php_project_3是使用 codeigniter 开发的。那是导致我麻烦的项目。在该项目中,我在 /application/config/config.php 下修改了$config['base_url']
,并将值输入为 http://IP/php_project_3 。
但是,当我点击URL http://IP/php_project_3
时,我得到一个空白页。
我还检查了 / var / logs / apache2 和 / var / logs / nginx ,但是error.log文件没有显示与我的请求相对应的任何消息。>
同时,我可以使用http://IP/php_project_1
和http://IP/php_project_2
我不知道如何解决此问题。
答案 0 :(得分:0)
$config['base_url']
的值应以斜杠结尾,因此请尝试
$config['base_url'] = 'http://IP/php_project_3/';
如果以上内容仍然产生空白,并且在/application/logs/
的任何日志文件中都没有发现错误,则您的一个脚本文件上可能有BOM。在开始<?php
之前,我在脚本的开头就遇到了它们。从控制器开始。删除该开头的行,然后重新输入-测试,对控制器使用的所有“查看”文件重复,直到找到违规者。
您可以通过将CodeIgniter的index.php
临时替换为另一个具有相同名称但带有简单文本输出的文件(即
<?php
echo "Hello World";
很显然,如果看到文本,则问题出在服务器配置问题之外。
答案 1 :(得分:0)
在trafik后面运行codeigniter时遇到了类似的问题。拔掉所有头发后,我意识到这是因为traefik实例的IP必须包含在auth.conf文件中。