从零开始搭建一个完整的web全栈开发环境并实现服务器部署(pycharm +Ubuntu+ django+uwsgi+nginx + neo4j/MySQL)

写在前面:
这基本是我第一次着手去搭建一套开发环境,从软件到依赖包到服务器部署,代码同步调试,从零看着一大堆资料到搭建出一个基本的开发环境并成功运行,我觉得有必要把其中的过程和对我有帮助的资料重新整理

Mark Zuckberg —社交网络 2018

本文初稿完成于 19 年 8 月,例子和命令可能有些老旧,当时我才刚开始接触服务器端开发与部署,也算是边动手边整理,算是对我当时的思路的留念

基本配置:

开发机:

  • 系统:win10
  • IDE: Pycharm pro 2019

服务器环境:

  • 系统: Ubuntu18.04
  • Web服务器: nginx
  • WSGI接口:uwsgi
  • 开发框架:Django 2.2
  • 后端语言:Python 3.7.3
  • 数据库:MySQL 5.7

前端开发环境搭建

1.Chrome浏览器

由于我们开发的前端网页都是在浏览器中运行,而目前市场上的浏览器又是五花八门,存在不少兼容性问题,选择市场占有率最高,且方便开发调试的Chrome浏览器是开发前的首要工作
直接进入链接下载
https://www.google.cn/chrome/

Chrome 开发者工具
Chrome 开发者工具大大方便了网页调试,打开工具的方式是F12或者右键网页页面,选择检查
在这里插入图片描述
开发者工具由几个板块组成,他们的作用是
Network
网络面板,Network面板用于web抓包,记录了每条网络操作的相关信息
Chrome 插件
https://chrome.google.com/webstore/category/extensions

2.前端开发IDE
3. node.js运行环境

js的包管理工具依赖于node.js运行环境,我们先安装,直接进入官网,选择稳定LTS版本
https://nodejs.org
在这里插入图片描述
安装中需要选中ADD TO PATH,安装后打开cmd,运行node -v,成功即表明安装成功
在这里插入图片描述
在这里插入图片描述

4. 包管理工具安装
npm

npm 是node自带的包管理工具,安装node后默认安装
在这里插入图片描述

yarn

npm虽然是默认的js包管理工具,但有许多历史遗留的常见问题,为了对包管理的性能做出改进,yarn应运而生
官方对yarn的介绍
速度超快
Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
超级安全
在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
超级可靠
使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
——————————————————————————————————————————
安装

npm install -g yarn

查看安装成功
在这里插入图片描述
webpack
eslint

准备篇

0.申请服务器

这一步不再赘述(之前是拿学校的云主机当例子但不具有普适性,所以删了),随便选一个云厂商把服务器买下来就好了

1.安装Xshell与Xftp

有了可以使用的云服务器,我们就需要对它进行操作,因此我们需要能与服务器建立会话并且能进行文件传输的工具,这就是Xshell与Xftp。
Xshell是一个强大的终端模拟软件,你可以通过Xshell在本地开发机上连接服务器进行远程控制,Xftp可以与服务器进行上传或下载文件的服务
这两个软件在官网上可以通过邮箱进行免费使用
https://www.netsarang.com/zh/free-for-home-school/
在这里插入图片描述
填入姓名与邮箱后,下载链接会发送到你的邮箱里
在这里插入图片描述
在这里插入图片描述
接着下载安装后打开Xshell,在左上角选择新建会话,输入一个名称和你主机的ip地址,点击确定并连接,接着会让你输入你的主机密码,可以在自己的电脑上点击记住密码,方便下次连接
在这里插入图片描述
打开Xftp,以同样的方式新建会话并连接,输入你主机的用户名(默认为root) 与密码
在这里插入图片描述
之后就形成了一个本地-服务器连接的工作区,可以上传下载文件,也可以通过命令行操作服务器
在这里插入图片描述


升级服务器

当服务器系统版本过旧,可以进行升级,一般当服务器可以升级时都会在连接时进行提示,如
在这里插入图片描述
输入

do-release-upgrade

之后会有很多让你选择的操作,全部输入y即可,安装之后会重启终端,系统就升级完毕了
在这里插入图片描述
更改主机名:主机名一般由云服务器厂商为你分配,如果想更改,按如下步骤:

vi /etc/cloud/cloud.cfg

修改preserve_hostname为true

vi /etc/hostname

将其中的字段改为你要设置的名称
在这里插入图片描述

vi /etc/hosts

在127.0.0.1 localhost 后加自己设置的主机名
随后重启服务器(不是重启Shell) 即可看到主机名称完成更改
在这里插入图片描述

2.linux操作

由于服务器系统大多在linux系统运行,所以熟练掌握linux的各种基本命令是非常重要的,但单纯去学命令容易没有条理,可以跟着教程一步步做着去学,也能掌握每一步命令的用途。
但一开始,熟悉一些必要的命令是有帮助的,我把一些在服务器中常用的linux命令和基本的linux常识列出(#是注释):

linux常识

linux相信大家不陌生,这是Linus Torvalds在1991年发布的一个基于UNIX内核的开源操作系统内核,尤其适合多用户、多任务、多线程和多cpu的网络作业,所以被广泛用于服务器操作系统
在linux内核的基础上又诞生出了不少发行版系统,可以分为两个系列redhatDebian,分别衍生出了目前使用范围最广的两个操作系统CentOS与Ubuntu

sudo apt-get install XXX               #安装XXX组件

find / -name 'XXX'                     #查找名为XXX的文件或文件夹

#cd 目录地址 :进入该目录
cd  或   cd~                           #进入root文件夹
cd /                                   #进入根文件夹
cd ..                                  #退到上级目录
cd /home

ls 目录地址:列出该目录下的文件和文件夹
ls                                     #列出当前目录的文件和文件夹
ls /etc

Tips: 在实际开发过程中肯定还是会碰到没见过的命令,好习惯是先查一下用法,不要乱用,linux的简单粗暴既是优点也是缺点,有时一行命令就能发生 清空数据库/删除系统文件/电脑开不了机…等等可怕的事情,在网上或书上看到的命令一定要结合自己机器的情况比如系统版本,具体的目录和文件名称,切忌照搬命令。

3.整体的架构

在了解配置环境之前,我们需要对所配置的环境的各个组件的作用作出了解,在实际配置时,不能一味跟着步骤走,否则如果有一步跟步骤的操作不一样就变得无从下手,为此,我绘制了两张图,一张是用户访问web应用的后台处理机制,一张是开发者开发测试的机制,跟着这两张图,一步一步配置整体的环境
在这里插入图片描述

本地篇

0.本地python的安装与配置

在官网下载最新版python到本地,在官网下载页选择 x86-64 executable(可执行版本)
https://www.python.org/downloads/release/python-373/
在这里插入图片描述
在安装时需要选中 Add python3.7 to PATH
安装完成后在cmd中输入

python -V

检查版本号,出现相关版本字样即表示安装成功
在这里插入图片描述

1. 本地Web测试环境的配置

有了python环境,就可以搭建一个本地的Web应用测试环境,只需要安装django框架并利用其内置的服务器即可
在开始搭建本地Web测试环境之前,我们先回顾几个基本的概念与命令

基本概念:
  • python解释器 (Interpreter):在每台计算机中都可以安装多个python版本,他们有着不同的地址,甚至也可以安装两个相同版本不同地址的python,每个python安装目录下都有一个python.exe,这被称为一个解释器,不同于编译器,解释器可以使得python边解释边执行,而不是像C一样整体编译。

  • python虚环境 (virtual environment):为了项目的依赖独立而创建出的python虚拟运行环境,解决不同项目之间包与解释器版本的依赖冲突问题,继承于一个python解释器,virtualenv在创建环境时会生成一个含有python解释器和依赖包的文件夹,虚环境解释器继承系统的解释器版本,在Scripts文件夹下,在虚环境中安装的包在Lib->site-packages文件夹下,这样便实现了包的隔离
    在这里插入图片描述
    现有成熟的虚环境工具有virtualenv,Anaconda,pyenv等

  • python包/模块 (Module):Python模块是一个 Python 文件,以 .py 结尾,包含Python 对象定义和Python语句,模块可以定义函数,类和变量,包含可执行的代码,能够通过import有逻辑地组织 Python 代码段,我们将会用到Django等python包

具体关系如下图所示
在这里插入图片描述

基本命令:
  • python:在命令行中输入python命令会运行一个解释器,这个解释器的位置在windows系统中取决于系统的Path环境变量,在linux系统中取决于\bin下python指令的软链接所指的位置
  • pip:pip是python自带的一个包管理工具,每个python解释器(包括虚环境的解释器)都含有一个pip工具,当系统使用一个python解释器时(由环境变量配置或者虚环境激活)进行pip install命令会将包装入该解释器文件夹下的Lib->site-packages文件夹

对于命令的一个约定俗成的规范是使用 **命令 help (–help等变体)**查看该命令的用法
如:
在这里插入图片描述在这里插入图片描述

在cmd中可以用pip 快速进行python包的安装,以安装python虚环境为例,可以了解pip命令的基本用法

pip install virtualenv

命令行当前目录下 (可以用cd命令实现目录跳转)创建virtualenv环境并建立同名文件夹

virtualenv testVenv

默认情况下新的环境会安装pip,setuptools等基本的包,如果还需要继承系统python解释器中的包,需要使用

virtualenv --system-site-packages testVenv

更多功能也可以用

virtualenv -h

查看,接下来激活环境,就在当前目录直接输入以下命令激活

testVenv\Scripts\activate

在这里插入图片描述
可以看到新的虚环境中只安装了必需的包,在该环境激活的状态下,使用pip命令会将包安装到该虚环境文件夹下
以同样方法执行

testVenv\Scripts\deactivate

即可使环境失效
在该环境下,我们安装django框架

pip install django

查看版本号,正常出现即安装成功

python
>>> import django       
>>> django.VERSION
(2, 2, 3, 'final', 0)

在命令行当前目录下创建项目与应用:

django-admin startpro
  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值