利用Linux+Uwsgi+Nginx+Django+域名解析来部署上线你的网站

1.前言:最近使用django部署上线了一个网站,期间遇到了一些困难,也有一些收获和感悟,现在跟大家分享一下。

2.准备工作:首先你要有一台服务器,国内的服务器可以用阿里云和腾讯云,我这个项目使用的服务器是国外的Linode,服务器的操作系统选择ubuntu 16.04

其次需要一个工具来连接服务器进行开发,我在这选择XshellXftpPortable,它集成了Xshell和Xftp的功能,并且拥有可视化界面,操作十分便捷。

最后还需要买一个域名,上线时要用

3.连接服务器:打开XshellXftpPortable软件,打开的界面如下图所示:

   

4.点击新建连接,输入你的服务器的IP,然后点击身份验证输入你服务器的root账号和密码,

最后点击连接,连接成功如下图所示:

这样就连接上了服务器的ubuntu了,接着只要在这上面操作就行了

5.安装环境:我们需要在服务器上安装我们项目需要的环境,首先安装pip3,命令如下:

                sudo apt-get update 

                sudo apt-get install pip3

6.安装虚拟环境:

                pip3 install virtualenv

                pip3 install virtualenvwrapper(虚拟环境扩展管理包)

7.创建虚拟环境:

                virtualenv -p 'python路径'  环境名

8.进入虚拟环境:

                cd 路径/环境名/bin 

                source activate

9.使用workon(需要先安装virtualenvwrapper):

                创建完虚拟环境后,可直接用workon命令进入:

                workon 环境名

10.安装django(这里使用django 2.1.8版):

                pip3 install django==2.1.8

11.安装数据库包,pymysql

                pip3 install pymysql

12.安装django图形界面组件pillow:

                pip3 install pillow

13.安装nginx服务器:

                sudo apt-get update 

                sudo apt-get install nginx

14.安装uwsgi:

                pip install uwsgi

15.安装和配置MySql:

                sudo apt-get install mysql-server mysql-client

                mysql -u root -p(这里会让你设置mysql的账号和密码,一定要记住)

16.创建编码格式为utf-8的数据库:

                mysql> create database 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

17.移植项目到服务器,使用Xftp的功能:

                就是把你本地的项目文件复制粘贴到服务器的目录中

18.配置nginx:创建一个mysite.conf文件

                        vi  /etc/nginx/sites-enabled/mysite.conf

        server{

                #默认监听80端口

                listen 80;

                #这里绑定你的域名,前提是你的域名已经绑定了你的服务器的IP地址

                server_name  registercompayinchina.com;

                charset utf-8;

                location /static {

                        expires 30d;

                        autoindex on;

                        add_header Cache-Control private;

                        # 这个是你django项目的static文件

                        alias /root/company/static/;

                }

                location / {

                        #关联uwsgi配置参数

                        include /etc/nginx/uwsgi_params;

                        #项目运行在哪个端口,必须和uwsgi中的设置一致

                        uwsgi_pass  0.0.0.0:8080;  

                        #入口文件,即wsgi.py相对于项目根目录的位置

                        uwsgi_param UWSGI_SCRIPT company.wsgi;  

                        #项目根目录

                        uwsgi_param UWSGI_CHDIR /root/company;  

                        index  index.html index.htm;

                        client_max_body_size 35m;

              }

        }

19.配置uwsgi:在项目的根目录下(有manage.py)创建mysite.ini文件:

         

20.最后修改项目的settings.py文件:

            DEBUG = False 

            ALLOWED_HOSTS = ['*']

21.启动nginx和uwsgi:

            命令行输入:重启nginx进程:nginx -s reload

                                启动uwsgi进程:uwsgi --ini mysite.ini

至此,我们的项目就已经成功部署在服务器上了,访问你的域名,即可看到你的网站~

最后还有一些uwsgi和nginx的常用命令:

nginx:

        1.查看nginx进程:ps ax | grep nginx

uwsgi:

               1.查看uwsgi进程:ps ax | grep uwsgi

         2.停止uwsgi进程:sudo pkill -f uwsgi -9

打个广告,各位大佬如果有Python方面的兼职可以找我做,我的QQ:1480456073

感谢各位大佬~

猜你喜欢

转载自blog.csdn.net/qq_40652101/article/details/89637375