美文网首页
利用Linux+Uwsgi+Nginx+Django+域名解析来

利用Linux+Uwsgi+Nginx+Django+域名解析来

作者: 小陈工 | 来源:发表于2022-05-29 13:22 被阅读0次

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

4.客户服务器地址和root账户密码

5.域名

相关文章

  • 利用Linux+Uwsgi+Nginx+Django+域名解析来

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

  • 什么叫泛解析, 什么是泛域名,以及怎么做?

    一、泛解析即泛域名解析。 所谓“泛域名解析”是指:利用通配符*(星号)来做次级域名以实现所有的次级域名均指向...

  • 7、利用DNSPod管理域名解析

    建议将域名都转到dnspod上来解析,这样方便我们管理。 1、注册登录DNSPod:https://www.dns...

  • 使用 BIND 提供域名解析服务

    一、域名解析服务 DNS 域名解析服务采用了类似目录树的层次结构来记录域名与 IP 地址之间的对应关系,从而形成了...

  • nginx实现域名绑定

    生产环境利用nginx对后端服务器进行反向代理和负载均衡,再把外网域名解析到nginx的vip地址,这样在外网可以...

  • Dnslog注入

    Dns在域名解析时会留下域名和解析ip的记录,利用这点我们可以使用Dnslog记录显示我们的注入结果 Dnslog...

  • 1.2-从域名到url

    1.常用的2种域名解析 2.域名解析的使用场景及url 3.基于网易蜂巢的域名解析实战

  • DNS域名解析

    本文解决如果几个问题:1、什么是DNS域名解析2、域名解析过程3、如何搭建本地DNS服务器 什么是DNS域名解析 ...

  • 网络基本服务

    网络基本服务 域名解析 域名系统是因特网使用的命名系统,完成域名解析,将域名解析到特定的IP地址。 DNS采用客户...

  • 利用dnspython库编写域名解析查询脚本

    先安装好dnspython 脚本正文

网友评论

      本文标题:利用Linux+Uwsgi+Nginx+Django+域名解析来

      本文链接:https://www.haomeiwen.com/subject/zxpgprtx.html