我有一个Django应用程序,我想在一个Centos Linux server
上部署它,它有一个global/public IP
,它被分配给一个domain
,并且是secured with SSL
。
系统配置如下:centos-release-6-10.el6.centos.12.3.x86_64
Apache/2.2.15 (CentOS)
当我使用以下命令运行服务器时:python manage.py runserver 0.0.0.0:8000
,
则只能通过传递本地IP(例如http://192.xxx.xx.xxx:8000/django_app/home
但我想从公共/全局IP访问它,但当我用全局/公共IP或分配给公共IP的域替换本地IP时,它会出现错误:
105.168.296.58 took too long to respond.
Try:
Checking the connection
Checking the proxy and the firewall
Running Windows Network Diagnostics
ERR_CONNECTION_TIMED_OUT
当我简单地把这个公共IP作为https://105.168.296.58
放在浏览器中时,它会将浏览器重定向到应用程序/网站,比如说https://mywebsite.com/home
,它运行在Apache的80端口上,并显示分配的域而不是IP,所以IP工作正常。
在www.example.com中settings.py:所有主机都允许为ALLOWED_HOSTS = ['*']
尝试的方法有:
1条答案
按热度按时间gupuwyp21#
我会这样部署django:
1.在虚拟环境中安装
uwsgi
pip install uwsgi
个1.创建一个uwsgi配置文件(
<>
中的所有内容都必须根据需要进行编辑1.安装nginx并创建以下配置
1.下载uwsgi_params并将其复制到目录https://github.com/nginx/nginx/blob/master/conf/uwsgi_params
1.来自
/etc/nginx/sites-enabled
的符号链接配置sudo ln -s /etc/nginx/sites-available/mysite_nginx.conf /etc/nginx/sites-enabled/
1.启动uwsgi和nginx
uwsgi --ini mysite_uwsgi.ini
sudo service nginx restart
不要忘记
collectstatic
,以便可以提供这些文件。我们将
mysite_uwsgi.ini
和uwsgi_params
文件添加到存储库中