我正在通过https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-ubuntu-16-04。我已经结束了,并按照指示启动了 uwsgi 和 nginx。 据我所知,我已经能够使所有步骤正常工作,包括 uwsgi 。
我的测试 django 站点位于 /home/deploy/sample 中,如屏幕截图所示
如果我
sudo vim /etc/nginx/sites-available/sample
我明白了:
server {
listen 80;
server_name sample.com www.sample.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/deploy/sample;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/sample.sock;
}
}
在“安装和配置 Nginx 作为反向代理”下,文章指出:
在内部,我们可以通过指示应可访问第一个项目的端口号和域名来启动服务器块。我们假设您每个都有一个域名:
我还没有设置域名,但我想在浏览器中打开我的 VPS 的 IP 地址来查看测试站点。
我怎样才能做到这一点?
您可以使用您的 VPS 的 IP 代替“sample.com”:
server {
listen 80;
server_name <your_ip_address>;
<other stuff>
}
如果您还没有,您可能想分配一个静态IP;我相信 Digital Ocean 会给你一些免费的。
更好的解决方案: 享受测试许多应用程序的乐趣
在开发机器(而不是服务器)上设置主机条目。 /etc/主机 C:\Windows\System32\drivers tc\hosts
添加为一行:ipaddress 域,即 82.32.45.144 是您的 vps:
82.32.45.144 sample.com
82.32.45.144 www.sample.com
82.32.45.144 wiki.sample.com
82.32.45.144 shop.sample.com
82.32.45.144 sample.co.uk
82.32.45.144 sample.de
我用我的
default_server
中的
server_name: _
设置了
/etc/nginx/sites-enabled/default
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / {
# your config goes here
}
}
这样,到端口 80 的所有流量都会通过此
server
配置提供服务,除非其他规则捕获它。
对于运行 ubuntu 的 rasperrypi,我使用这个:
在路由器中设置 IP 转发,将外部静态 IP 指向本地网络中 raspi 的 IP(至少转发 80 后(HTTP))
在
/etc/nginx/sites-available/foobar
下创建nginx-config文件,内容如下:
server {
listen 80;
server_name <YOUR_IP_GOES_HERE>;
root /var/www/foobar; # Adjust to your site's root directory
index index.html index.htm;
}
通过
sudo ln -s /etc/nginx/sites-available/foobar /etc/nginx/sites-enabled/
创建指向启用站点的符号链接
Logseq.order-list-type:: 数字
在
/var/www/foobar/index.html
下创建html文件
Logseq.order-list-type:: 数字
重新启动 nginx 以通过
sudo systemctl restart nginx
应用更改
Logseq.order-list-type:: 数字
您可以用更简单的方式配置 nginx,而不是指定 IP 地址。 您可以只使用 localhost 作为 server_name,如下所示。 如果这代表网络应用程序,您仍然必须在网络浏览器中使用 IP 地址。
server {
listen 80;
server_name localhost;
<other stuff>
}