目录:
- 下载Django项目
- 配置uWSGI
- 配置Nginx
- SSH 端口转发
环境:
Red Hat 4.4.7-18(Linux version 2.6.32)
Django (1.11.5)
uWSGI (2.0.15)
python (2.7.13)
一. 下载Django项目
这个步骤非常简单,就是把你写好的Django项目放到服务器上。
二. 配置uWSGI
1,使用pip install uWSGI
如果慢的话,可以使用国内源安装
清华:http://mirrors.tuna.tsinghua.edu.cn/pypi/simple
豆瓣:https://pypi.doubanio.com/simple(推荐)
使用方法,例如:pip install -i https://pypi.doubanio.com/simple uWSGI
2,配置uWSGI
在项目目录下,生成wsgi.ini
文件,并设置内容如下:
[uwsgi]
# 你的Django项目的根文件夹,要绝对路径
chdir=/your/django/project/root/dir
# 你的Django项目的虚拟环境的文件夹,要绝对路径
virtualenv=/your/django/project/virtual/dir
# uWSGI的 socket 端口
socket=:8084
# uWSGI的 http 端口
http=:8000
# 设置初始的 uwsgi 进程为主进程(主进程可以产生worker processes)
master=1
# 设置处理请求的进程数
processes=4
# 自定义的UID,随意
uid=youruid
# 自定义的GID,随意
gid=yourgid
# django wsgi 文件位置
file=/your/project/dir/wsgi.py
# 配置 uwsgi 启动后,PID保存到的文件
pidfile=wsgi.pid
# 通过管道配置 uwsgi 的文件。例如:echo R > wsgi.ff 就可以重启 uwsgi 服务器
master-fifo=wsgi.ff
# 配置log输出
daemonize=wsgi.log
3,启动uWSGI
uwsgi –ini wsgi.ini
4,测试 uWSGI
curl localhost:port
三,配置Nginx
1,安装Nginx
yum install nginx
2,配置Nginx
打开默认的配置文件/etc/nginx/conf.d/default.conf
server {
listen 8001 default_server;
#listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location /admin{
include uwsgi_params;
uwsgi_pass localhost:8084;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
3,测试修改后的配置文件
sudo nginx -t
4,启动Nginx
sudo nginx
5,测试整个环境
curl localhost:8001
四,配置端口转发
当前的测试环境状态是:
1,从个人电脑上,无法直接到服务器上,中间需要一个跳板机。即:
client(我) –ssh–> 跳板机 –ssh–> 服务器
(跳板机:就是一个中间服务器,安全程度比较高,把服务器和外部环境隔离。想要对服务器进行操作的话,必须先登录跳板机)
2,而且服务器没有公网IP,即:从个人机器无法直接连接到服务器上。
在这种情况下,想要访问服务器的80
等端口的话,需要进行ssh端口转发
。
ssh yourname@跳板机IP -L 本机端口:服务器IP:服务器端口
这个命令的意思是,当有请求要访问“本机端口”时,把请求通过“yourname@跳板机IP”,转发到“服务器IP:服务器端口”上。
这样的话,当你在本机通过localhost:8001
端口进行访问时,就可以直接请求到服务器的8001端口了。