此文完全针对小白和零基础,大佬和有经验的司机请直接忽视略过,因为太过啰嗦!打扰了(^_^)Biu~ Biu~  开始~~

———RedPanda

  • 配置环境介绍

本地环境:windows10 home版

Python版本:python3.6

数据库:MySQL5.7

测试服务器商:百度云

服务器环境:Centos7.4

服务器端环境搭建:

Python3.6+virtualenv+MySQL5.7+Django2+uwsgi+Nginx+Supervisor+Memcached+redix

  • 本地开发环境(本文python一律默认3.6)
  1. 安装python && 安装pip  &&安装虚拟环境virtualenv以及virutalenvwrapper
  1. 安装python3.6(自带pip)

登录官网https://www.python.org/ downloads 选择操作系统对应版本下载

选择Customize installation 勾选Add Python 3.6 to PATH(很重要)

Optional Features 选择相应选安装,建议小白全选

自定义选择python安装路径(建议软件D盘,别总安在C盘“不卡臣妾做不到”)

完成安装后,进入cmd  输入 python -V  查看安装是否成功

安装完成后可以对pip 进行升级:pip install --upgrade pip

更改pip 的更新源为国内源镜像(建议清华https源,更多源后边有介绍)

在当前用户目录下创建pip文件夹

C:\Users\Administrator\pip

新建pip.ini文件,写入内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]

trusted-host = https://pypi.tuna.tsinghua.edu.cn

再次升级pip 提示为 更换完成(永久可再换源)

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple

  1. 安装虚拟环境virtualenv以及virutalenvwrapper

pip3 install virtualenv (本环境仅有python3.6 pip 和pip3效果相同)

pip3 install virtualenvwrapper-win

更改虚拟环境的默认安装位置(方便统一管理,“C盘表示妾窃欢喜”)

我的电脑-“属性”-“高级”-“环境变量”-“系统变量”

更改或增加:变量WORKON_HOME  值:D:\Env

  1. 安装MySQL5.7+Navicat
  1. 国内镜像下载mysql对应版本

(“官网能让你地老天荒~眼泪汪汪,是个Bad boy”)

推荐对应windows版本的zip下载(更多参考http://www.svlik.com/1512.htmlhttps://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/

https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/

mysql-5.7.28-winx64.zip安装教程

解压--修改名为mysql-5.7.28(拷贝至D盘下)

配置环境变量:

我的电脑-“属性”-“高级”-“环境变量”-“系统变量”-双击“Path”-将mysql的路径“D:\mysql-5.7.28\bin”添加进去

mysql-5.7.28新建my.ini 文件

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

# 设置3306端口

port = 3306

# 设置mysql的安装目录(自解压位置)

basedir=F:\IT_zhengqing\MySQL\mysql-5.7.24-winx64

# 设置mysql数据库的数据的存放目录(自定义位置)

datadir=F:\IT_zhengqing\MySQL\mysql-5.7.24-winx64\data

# 允许最大连接数

max_connections=200

# 设置mysql服务端默认字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

mysql 初始化:(可以不完全按照这个步骤来“条条大路喊翠花”)

在mysql的bin目录下 win10选择文件右击powershell   执行 mysqld --initialize-insecure

安装mysql服务:mysqld -install

启动服务:net start mysql

测试: mysql -u root -p  来启动mysql的命令行窗口

执行修改密码:set password = password('单引号里输入你的新密码,一般设置为root');

查看数据库:show databases;

在navicat中测试连接

  1. 安装navicat:

<1>安装Navicat软件

<2>和谐:patchNavicat

<3>连接数据库测试

  1. 创建virtualenv虚拟环境专用文件夹例如:(cmd)

C:\Users\Administrator>d:

D:\>cd Env

D:\Env>dir (查看文件夹下的目录列表)

创建虚拟环境:mkvirtualenv djangocs

补充两条指令:(其他指令用到再补充)

deactivate 退出虚拟环境

workon djangocs   进入虚拟环境

  1. 项目用到的环境安装配置(详情见附录)(视个人项目所需安装)

进入虚拟环境下 workon djangocs  查看环境列表 pip list

  1. 安装memcached 和redis
  1. 安装memcached:(这里选择1.4.4版本 1.4.5版及后操作不同)

<1> 下载memcached: http://static.runoob.com/download/memcached-win64-1.4.4-14.zip

更多参考:https://www.runoob.com/Memcached/window-install-memcached.html

<2> 解压(建议拷贝至D盘文件夹下)

<3>以管理员的身份打开cmd,并进入memcached 文件夹下

<4>安装memcached.exe -d install

<5>启动memcached:memcached.exe -d start

<6>telent 测试(其默认端口是11211)

确保已启动telnet
服务控制面板 -> 程序 -> 启用或关闭Windows功能 -> 勾选Telnet客户端 -> 确定

查看本地回显信息set localecho

添加数据set username 0 60 7

  1. 安装redis

<1>下载(https://github.com/MicrosoftArchive/redis/releases

<2>解压,管理员身份cmd进入文件夹下(建议拷贝D盘)

<3>将redis服务安装成windows服务

redis-server --service-install redis.windows.conf

<4>启动redis服务:redis-server --service-start

<5> cmd 测试(默认端口 6379)在redis文件目录下

redis-cli.exe -h 127.0.0.1 -p 6379

<6>写入和读取测试

set username "djangocs1"

get username

<7>补充指令(其他用到再补充)

设置密码:CONFIG SET requirepass “root”

auth root

清空密码:CONFIG SET requirepass “”

<8>Redis 可视化管理工具RedisStudio的安装

<1. 下载 https://github.com/cinience/RedisStudio/releases

<2. 安装并添加本地redis

  1. 安装前端环境(随项目开发需求,非必须,可略过)
  1. nvm安装

<1> 下载:https://github.com/coreybutler/nvm-windows/releases

<2> 安装:(建议安装D盘,求不要独宠C盘,要雨露均沾^*_*^)

<3>配置环境变量:我的电脑->属性->高级系统设置->环境变量->系统环境变量->Path 将nvm的路径新建添加即可

<4>测试  打开cmd 输入 nvm 查看命令的执行情况

<5> 改变nvm的更新下载源(改为国内源镜像)

nvm node_mirror https://npm.taobao.org/mirrors/node/

nvm npm_mirror https://npm.taobao.org/mirrors/npm/

<6> nvm常用命令:

nvm install node:安装最新版的node.js。nvm i == nvm install。

nvm install [version]:安装指定版本的node.js 。

nvm use [version]:使用某个版本的node。

nvm list:列出当前安装了哪些版本的node。

nvm uninstall [version]:卸载指定版本的node。

nvm node_mirror [url]:设置nvm的镜像。

nvm npm_mirror [url]:设置npm的镜像。

  1. Node+npm安装

<1> 安装:nvm install 6.4.0

(教程说最新版的坑很多,建议这个版本, 求指教)

<2>指定nvm 使用的版本: nvm use 6.4.0

<3>npm的指令:

npm install express          # 本地安装(npm指令所在的目录下)

npm install express -g          # 全局安装(放在npm的安装目录)

npm uninstall [package]         # 卸载包

npm update [package]           # 更新包

npm search [package]            # 搜素包

<4> 使用淘宝镜像 可以使用cnpm来安装包(指令cnpm 同上速度较快)

npm install -g cnpm --registry=https://registry.npm.taobao.org

1、gulp安装(建议npm的操作,全都在项目的目录来完成)

<1> 创建本地包管理环境:npm init (在项目目录文件夹下默认来就行)

package.json是用来记录你当前这个项目依赖的包(npm install)

<2> 全局安装gulp :npm install gulp -g (cnpm install gulp -g)

<3> 本地安装:npm install gulp --save-dev(在项目目录文件夹下)

<4> 创建gulp任务:在项目根目录下创建gulpfile.js文件;

<5> 处理css任务:cnpm install gulp-cssnano --save-dev

<6> 处理js任务插件:cnpm install gulp-uglify --save-dev

<7> 合并多文件插件:cnpm install gulp-concat --save-dev

<8> 压缩图片插件:cnpm install gulp-imagemin --save-dev

<9> 压缩图片缓存插件:cnpm install gulp-cache --save-dev

<10> 自动刷新浏览器插件:cnpm install browser-sync --save-dev

<11> Sass语法插件:cnpm install gulp-sass --save-dev

<出错处理>:出错后先再次安装和执行,未解决再找其他方法!

在已完成的项目中执行cnpm install  npm install  (可反复安装几次直到)

至此前端开发的基本环境安装完毕!

  1. 确认项目没有bug(设置`ALLOW_HOST`为你的域名,以及ip地址。

设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户。)

LANGUAGE_CODE='en-us'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

STATIC_URL = '/static/'

STATIC_ROOT= os.path.join(BASE_DIR,'static_dist')

STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

  1. 进入项目虚拟环境下pip3 freeze > requirements.txt`将当前环境的包导出到`requirements.txt`文件中,方便在部署的时候安装。
  2. 配置好Git代码服务器(建议码云):创建新的代码仓库
  3. 安装Git,将项目上传代码服务器

代码简化:(使用这个 遇见问题再看下面的步骤,标红文字比较重要)

* git init          * git remote add origin xxx.git

* git add -A       * git commit -m 'first commit'

* git pull origin master --allow-unrelated-histories

* git push origin master

  1. 创建本地仓库(新建项目时去掉readme的选项,否则存在问题)

在本地项目目录下点击右键,选择Git Bash Here,输入git init命令

然后依次输入以下命令进行初始化:git add .    touch README.md

  1. Git全局设置

git config --global user.name "XXX"(你的名字)

git config --global user.email XXXXX@qq.com(你的邮箱)

  1. 输入以下命令进行添加所有文件:

git add -A

  1. 输入以下命令进行提交注释:

git commit -a -m "first commit”

  1. 输入以下命令进行初次建库,需要与远程仓库关联:

git remote add origin https://gitee.com/Yain/Djangocs1.git

若报错:git remote rm origin

  1. 把两段不相干的分支进行强行合并‘

git pull origin master --allow-unrelated-histories’

  1. 输入以下命令进行将代码仓库上传到码云:

git push origin master

  1. 如果遇到问题:(初次使用的仓库,直接第一步就行)

<1> 若没有原仓库没有代码,可以使用强推 git push -f origin master

<2> 先把Git的代码fetch到本地然后merge再push

git fetch

<3> 提交当前变化:git commit -a -m "two commit”

<4> 本地生成一个ReadMe文件

git pull --rebase origin master     本地生成ReadMe文件

git push origin master

  1. 至此本地代码即上传至代码服务器的码云Gitee上了

二、服务器端环境的搭建

1、安装centos系统  这里测试的是7.4 64bit  百度云(xshell连接)

使用xshell连接百度云服务器(云服务无须更改centos源)

修改yum源为阿里云(一般可以修改,但是建议先不修改,更新很慢的时候再说)

cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo
yum clean all && yum makecache && yum update

2、安装python环境(一般自带2.7)

安装python3 和 pip3  并升级

安装EPEL和IUS软件源

yum install epel-release -y

yum install https://centos7.iuscommunity.org/ius-release.rpm -y

安装Python3.6

yum install python36u -y

yum install python36u-devel -y

创建python3连接符(安装完成后查看相应文件夹已有对应文件)

ln -s /bin/python3.6 /bin/python3

(或ln -s /usr/bin/python3.6 /usr/bin/python3)

安装pip3

yum install python36u-pip -y

创建pip3 连接符(安装完成后查看相应文件夹已有对应文件)

ln -s /bin/pip3.6 /bin/pip3

升级pip3

pip3 install --upgrade pip (建议关闭窗口或重启一下)

pip3 --version

4、更改pip的源:(永久)(安装很慢的时候再说,先不更新)

临时:pip install  <包名> -i http://pypi.douban.com/simple

在linux下永久改变源的镜像地址:

在用户目录下新建 .pip/pip.conf, 然后在文件中添加如下代码:

mkdir ~/.pip                 vim ~/.pip/pip.conf (阿里云服务器已配置好)

输入:(建议使用清华源,豆瓣的我测试不太好用)

[global]

timeout = 6000

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

trusted-host = pypi.tuna.tsinghua.edu.cn

[global]

index-url = https://pypi.doubanio.com/simple/

[install]

trusted-host = pypi.doubanio.com

timeout = 6000

其它源:

(1)阿里云 http://mirrors.aliyun.com/pypi/simple/

(2)豆瓣http://pypi.douban.com/simple/

(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

(5)华中科技大学http://pypi.hustunique.com/

若遇到pip3 运行报错()

则 vim /usr/bin/pip3

from pip import __main__

if __name__ == '__main__':

sys.exit(__main__._main())

5、安装`virtualenv`以及`virutalenvwrapper`。并创建虚拟环境。

* pip3 install virtualenv

* pip3 install virtualenvwrapper

确认virtualenvwrapper.sh 和 python的位置 cd /usr/bin下查看

whereis virtualenvwrapper.sh (记录下地址)

* vim ~/.bashrc 进入文件中,填入以下几行代码:

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/bin/virtualenvwrapper.sh

* source ~/.bashrc

2. 使用指定Python环境新建(默认已被设置使用python3)

mkvirtualenv -p /usr/bin/python3 my_virtual

6、安装Git

1> 查看系统是否已经安装git :git --version

2> yum安装Git :yum install -y git  补充:卸载git: yum remove git

7、安装openSSH(云服务器不用安装):

1> 查看是否已安装: rpm -qa openssh* (yum remove openssh-* 卸载多余)

2> 安装yum install -y openssl openssh-server

3> vim打开配置文件/etc/ssh/sshd_config :

PermitRootLogin,RSAAuthentication,PubkeyAuthentication 设置为yes

8、安装mysql(指定版本安装)

1> 查看是否安装mariadb : rpm -qa | grep mariadb

  1. 卸载mariadb:rpm -e --nodeps mariadb-libs-5.5.56-2.el7. .x86_64

yum remove mariadb-libs.x86_64

3>cd /usr/local/src 进入文件夹下  下载和安装mysql包(5.7)

(下载速度可以的话就用这个)

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

方法二:(不建议使用,只是提供另外一个方案,还有离线方法,百度很多)

wget -i -c https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-community-common-5.7.28-1.el7.x86_64.rpm

wget -i -c https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-community-libs-5.7.28-1.el7.x86_64.rpm

wget -i -c https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-community-client-5.7.28-1.el7.x86_64.rpm

wget -i -c https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-community-server-5.7.28-1.el7.x86_64.rpm

分别依次安装各个安装包

rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

测试一下:yum -y install mysql-community-server

这种方式下载快,安装也快,也适合更换版本,只需要在镜像源库查找一下就行!

4> 启动mysql服务 : systemctl start mysqld   systemctl status mysqld(查看状态)

重启:systemctl restart mysqld  开机启动systemctl enable mysqld

重载所有修改过的配置文件:systemctl daemon-reload

先修改配置文件,后设置密码:vim /etc/my.cnf (可以先不做这步)

        character_set_server=utf8

5> 获取原始默认密码 : grep "password" /var/log/mysqld.log

6> 进入数据库:mysql -u root -p

7> 修改密码:alter user 'root'@'localhost' identified by 'Root!!2019'; (设置你的密码)

8> 刷新权限:

flush privileges;

root用户外部ip能访问,使用下面语句:

CREATE USER 'root'@'%' IDENTIFIED BY ‘'Root!!2019”;

grant all on *.* to 'root'@'%' identified by ''Root!!2019”;

刷新权限:flush privileges;

  1. 重启mysql服务进行验证测试

systemctl restart mysqld

systemctl status mysqld

创建数据库:CREATE DATABASE Djangocs1;

查看数据库:show databases;

新建表:CREATE TABLE xxxx();

查看表:show tables;

查看端口号:netstat -anp

  1. 查询设置的字符集:

show variables like "%character%";show variables like "%collation%";

  1. 可以利用本地的Navicat链接查看

SQL 语句都是不区分大小写的,但是出于严谨,而且便于区分保留字(保留字(reserved word):指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。)和变量名,我们把保留字大写,把变量和数据小写。

将项目代码配置中的服务器的mysql等信息修改后再次提交至码云

步骤不限于:(防止项目setting信息与数据库不同)

git init

git remote add origin https://gitee.com/xxxxx/xxxxx.git

git add . (git add -A)

git commit -m "mysql commit" (指定版本的改变)

git push -u origin master -f (强制推送)

安装pip3 install mysqlclient 出错

解决方案:(我这里是这样子)

yum install gcc mariadb-devel

pip3 install mysqlclient

9-1、安装memcached 和redis

  1. 安装memcached(默认端口11211)

<1>安装依赖包:yum install libevent libevent-devel

<2>安装memcached:yum install Memcached

<3>查看安装位置:whereis Memcached (/usr/bin/memcached)

<4>参数式启动:/usr/bin/memcached -u root -m 1024 -p 11211 -d start

<5>查看是否启动成功:ps aux|grep memcached

<6>其他指令:/bin/systemctl start memcached.service

/bin/systemctl stop memcached.service

设置开机自启动systemctl enable memcached.service

取消开机自启动:systemctl disable mysqld.service

启动参数的介绍

-d选项是启动一个守护进程,(在后台运行)

-m是分配给Memcache使用的内存数量,单位是MB,

-u是运行Memcache的用户,这里是root,

-l是监听的服务器IP地址,如果有多个地址的话,

-p是设置Memcache监听的端口,最好是1024以上的端口,

-c选项是最大运行的并发连接数,默认是1024,按照服务器的负载量来设定,

-P是设置保存Memcache的pid文件,也可以启动多个守护进程,不过端口不能重复。

2> 安装redis

<1> 安装: yum install redis

<2> 安装epel仓库:yum install epel-release

<3> 启动redis服务:systemctl start redis

<4> 查看启动状态:systemctl status redis

<5> 查看redis进程:ps -ef | grep redis

<6> 其他指令:停止服务 systemctl stop redis

重启服务: systemctl restart redis

设置开机自启动:systemctl enable redis

查看端口占用情况:netstat -tlnp|grep 80

<7> 设置redis远程连接和访问密码:

vi /etc/redis.conf

修改bind 127.0.0.1(一般注销就好)

修改保护模式为no: protected-mode no

修改端口号: port 6039

修改密码:requirepass 123456

保存退出后 重启redis

<8> 进入redis客户端:redis-cli -h 127.0.0.1 -p 6379

输入用户和密码:(例如 auth 123456)

输入 info 查看相关信息

Key * 来查看所有的键

9-2、在服务器端建立虚拟环境

进入SRC文件夹:cd /srv/

创建虚拟环境目录:mkvirtualenv djangocs1

将项目代码 从码云代码服务器上 push下来

建文件夹:mkdir djangocs1

Cd djangocs1/

git init

git remote add origin https://gitee.com/xxxxx/xxxxx.git

git pull origin master

输入Gitee用户和密码:(拉取完成)

执行命令:

pip3 install -r requirements.txt ,安装好相应的包。

(可能遇到报错,我觉得是requirements.txt 的包过于老导致的

yum install python-devel

yum install mysql-devel

yum install gcc)再次执行就可以成功!

(wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm)

10、在mysql中创建相应的数据库 并使用python3 manage.py migrate将迁移文件映射到数据库中

从而创建相应的表;

查看数据表的建立(可用Navicat)已创建了新的数据表说明成功了!

11、执行python manage.py runserver 0.0.0.0:80   访问下网站所有页 面,确保所有页面都没有错误 在本机上访问你的云服务器,来确认可以被访问到项目页面;

  1. 收集静态文件:python manage.py collectstatic

三、uwsgi配置

1、安装uwsgi

介绍:uwsgi是一个应用服务器,非静态文件的网络请求就必须通过他完成,uwsgi是使用python编写的,通过pip install uwsgi安装,但必须安装在系统级别的Python环境中,不能装到虚拟环境中

2、使用命令启动项目

1> 查看虚拟环境的位置:/root/.virtualenvs/djangocs1 如何寻找

cd ~

ls -a

cd cd .virtualenvs/ djangocs1/

pwd 查看路径

通过ps,查看uwsgi相关进程

ps aux|grep uwsgi

列出软件包安装路径 rpm -ql uwsgi

查找文件位置 find / -name "*uwsgi*"

2>  在浏览器中用uwsgi加载项目

uwsgi --http :80 --module Djangocs1.wsgi --virtualenv=/root/.virtualenvs/djangocs1

3> 在项目路径下创建Djangocs1_wsgi.ini的文件:编写uwsgi配置文件如下:

[uwsgi]

#使用nginx连接时使用

#socket=0.0.0.0:80

#不用nginx直接当做web服务器使用

http=0.0.0.0:80

# Django相关的配置

# 必须全部为绝对路径

# 项目的路径

chdir=/srv/djangocs1

#wsgi文件路径,在项目底下

wsgi-file=djangocs1/wsgi.py

# Django的wsgi文件

module= zhiliaoketang.wsgi

# Python虚拟环境的路径

home=/root/.virtualenvs/djangocs1

# 进程相关的设置

# 主进程

master=true

# 最大数量的工作进程

processes=4

threads=2

pidfile=uwsgi.pid

# 设置socket的权限

chmod-socket=666

# 退出的时候是否清理环境

vacuum=true

使用命令 uwsgi –ini Djangocs1_wsgi.ini 来启动项目

四、安装nginx

1、添加源(这是个老的源,建议http://nginx.org/en/linux_packages.html#RHEL-CentOS

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2、查看 是否添加成功:yum search nginx

安装yum install -y nginx

3、编写nginx配置文件(关闭防火墙systemctl stop firewalld)

(在这之前修改uwsgi.ini的文件socket)

/etc/nginx/conf.d`目录下,新建一个文件,叫做`djangocs1.conf`,修改如下:

upstream django {

# server unix:///path/to/your/mysite/mysite.sock; # for a file socket

server 0.0.0.0:9000; # uwsgi的端口

}

# configuration of the server

error_log  /home/wwwroot/nginxerror.log;#错误日志

server {

# the port your site will be served on

listen      80;

# 端口

server_name xxx.xxx.xxx.xxx; # 服务器ip或者域名

charset     utf-8;

# max upload size

client_max_body_size 75M;   # adjust to taste

# Django media

location /media  {

alias  /srv/djangocs1/media;  # 指向django的media目录

}

# Django static

location /static  {

alias  /srv/djangocs1/static_dist;  # 指向django的static目录

}

# Finally, send all non-media requests to the Django server.

location / {

uwsgi_pass  djangocs1;

include     /etc/nginx/uwsgi_params; # uwsgi服务

}

}

4、测试配置文件是否设置成功,运行命令:` systemctl nginx configtest `(指令失效),

配置ngnix开机启动:cd到/lib/systemd/system/目录,创建nginx.service文件如下

[Unit]

Description=nginx - high performance web server

Documentation=http://nginx.org/en/docs/

After=network-online.target remote-fs.target nss-lookup.target

Wants=network-online.target

[Service]

Type=forking

PIDFile=/var/run/nginx.pid

ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s TERM $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

退出并保存文件,执行systemctl enable nginx.service使nginx开机启动

systemctl start nginx.service
systemctl start nginx  两条指令都可以
重启:systemctl restart nginx.service 
需再次启动uwsgi –-ini  项目文件.ini
使用域名或IP方式浏览器访问测试站点;
502错误的原因是 uwsgi未启动或配置错误
五、安装supervisor配置

1、在系统级别的python环境中安装pip3 install supervisor

2、在项目的根目录下创建一个文件叫做`djcs1_supervisor.conf`。

# supervisor的程序名字

[program:dgcs1]

# supervisor执行的命令

command=uwsgi --ini djangocs1_uwsgi.ini

# 项目的目录

directory = /srv/djangocs1

# 开始的时候等待多少秒

startsecs=0

# 停止的时候等待多少秒

stopwaitsecs=0

# 自动开始

autostart=true

# 程序挂了后自动重启

autorestart=true

# 输出的log文件

stdout_logfile=/srv/djangocs1/log/supervisord.log

# 输出的错误文件

stderr_logfile=/srv/djangocs1/log/supervisord.err

[supervisord]

# log的级别

loglevel=info

# 使用supervisorctl的配置

[supervisorctl]

# 使用supervisorctl登录的地址和端口号

serverurl = http://127.0.0.1:9001

# 登录supervisorctl的用户名和密码

username = djangoroot

password = django1234$

[inet_http_server]

# supervisor的服务器

port = :9001

# 用户名和密码

username = djangoroot

password = django1234$

[rpcinterface:supervisor]

supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

然后使用命令`supervisord -c zlkt_supervisor.conf`运行就可以了。

以后如果想要启动`uwsgi`,就可以通过命令`supervisorctl -c supervisor.conf`进入到管理控制台,然后可以执行相关的命令进行管理:

* status                # 查看状态

* start program_name    #启动程序

* restart program_name  #重新启动程序

* stop program_name     # 关闭程序

* reload                # 重新加载配置文件

* quit                  # 退出控制台

杀掉以前的supervisor进程(kill -s 9 2533)

查找 ps aux|grep supervisor

supervisord -c zlkt_supervisor.conf

进入控制台来管理uwsgi

supervisorctl -c zlkt_supervisor.conf

六、项目环境安装配置

0、(仅建议非必须)

进入虚拟环境的目录下,进入虚拟环境,再来操作pip list或 install操作

1、指定Django版本安装(例如)

pip3 install django==2.0.13

pip3 install mysqlclient (安操作mysql的驱动,仅建议此驱动)

pip3 install pillow  (服务器保存图片所需要的库环境)

pip3 install bleach (清理包含html格式字符串的库,指定属性保留或过滤)

pip3 install  python-memcached (用python操作memcached)

pip3  install redis  (python 操作Redis的驱动)

pip3 install djangorestframework  (安装rest_framework)

pip3 install django-debug-toolbar (安装DEBUG工具)

Django2.0服务器的零基础完全部署相关推荐

  1. 即时通讯音视频开发(0):零基础,史上最通俗视频编码技术入门

    [来源申明]本文引用了微信公众号"鲜枣课堂"的<视频编码零基础入门>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注明原文来源信息,尊重原作 ...

  2. 视频编码零基础入门(0):零基础,史上最通俗视频编码技术入门

    [来源申明]本文引用了微信公众号"鲜枣课堂"的<视频编码零基础入门>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注明原文来源信息,尊重原作 ...

  3. java9.0.1教学,零基础Java基础教程【9天入门】

    零基础Java基础入门教程 中级共14课 本课程将会从零基础学员角度出发,带你9天快速掌握 Java,课程知识点编排循序渐进,能够将每一个知识点落地到实际案例,拒绝"听得懂.不会练.不会敲& ...

  4. 零基础nodejs部署web网站

    nodejs部署微服务 前言 环境 相关文件准备 安装 操作步骤 创建项目 运行项目 测试是否部署成功 项目管理 后台运行脚本 检查nodejs服务是否启动成功 退出后台nodejs的项目 其他 读取 ...

  5. [教程] openmp/sa-mp联机服务器开发 零基础入门

    前言: 开发服务器所需要使用的编程语言Pawn,联机服务器的一切玩法.内容.功能都需要我们自己编写创造,这意味着开始是一片空白. 创造一个成熟的服务器需要一定的技术和编程经验,如果你愿意学习探索,一步 ...

  6. Hexo+Gitee搭建个人博客 —— 零基础Gitee部署

    前言 个人标签: smm -ing Spring Boot -ing 乐于分享 技术交流: Github Gitee kris's blog 正在筹备中!点击预览 博客园 (筹备中) 给我写信 前期准 ...

  7. 零基础快速入门SpringBoot2.0教程 (二)

    一.SpringBoot2.x使用Dev-tool热部署简介:介绍什么是热部署,使用springboot结合dev-tool工具,快速加载启动应用官方地址:https://docs.spring.io ...

  8. 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通

    跟老齐学Python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧下载吧! 目录: 第1季 基础 ...

  9. 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通.pdf

    跟老齐学Python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧下载吧! 目录: 第1季 基础 ...

最新文章

  1. qq浏览器网页翻译_科研利器 | NCBI网站影响因子与网页翻译插件安装指南
  2. oracle数据库修改写入状态,【学习笔记】Oracle oradebug 使用oradebug修改数据库SCN方法案例...
  3. php根据城市获取天气预报,根据浏览者ip获取城市,然后在获取城市天气预报
  4. vbs枚举磁盘访问磁盘信息
  5. 根据json对象的某一属性对其进行排序
  6. HDU4631Sad Love Story
  7. 【转】为什么博士叫PhD?
  8. 《Cortex-M0权威指南》之Cortex-M0技术综述
  9. 为什么软件预算经常会改变和膨胀
  10. 【7】测试用例设计-等价类分析法
  11. python编程例子-几个Python小案例,爱上Python编程!
  12. 2019 双十一京东全民养红包攻略分享
  13. DVB机顶盒工作原理
  14. 月薪30k的PHP架构师的成长路线图1.0!
  15. 【JavaWeb】button自带的reset方法
  16. Babylon.js 第28章 多面体
  17. 【学习番外篇】Firefly ROC-RK3328-CC刷Ubuntu18.04+VNC
  18. 股票涨幅怎么看?在这里这些全告诉你!
  19. 超详细的【区块链】技术介绍整理(七千余字+九大板块)
  20. linux下qt实现计算器,QT实现简单计算器功能

热门文章

  1. 2017-2018-2 20179305《网络攻防技术》第二周作业
  2. 三星Q950T 全景声回音壁发布
  3. 基于Linux RHEL 5 5 安装Oracle 10g RAC
  4. 170908 WarGames-Behemoth(7)
  5. TreeList 节点拖曳
  6. 通配符SSL证书购买建议
  7. 英语的加减乘除怎么计算机,用英语表示加减乘除法的用法
  8. 学籍专业填计算机还是理工,北京理工大学珠海计算机学院2018下半年英语四级报名通知...
  9. 程序员兼职怎样报价力求中标?——接私活的项目报价策略
  10. 优必选科技眼中的AI机器人时代