Ubuntu Server:部署环境,用来部署项目的server系统。

XShell:用来连接linux的工具。web项目要部署到远程服务器上,所以需要XShell来连接远程服务器。

pycharm:开发工具(专业版对于web开发更友好)

python3:编程语言。

安装方法一:直接用别人打包好的ova

已有大神为我做好了oav文件,里面包含了mysql, redis, mongodb, python3.5。

本人使用VMware。安装VMware后,会自动关联该文件,直接双击oav文件就行。

安装途中需要输入两次:bash install.sh

第一次执行配置网络,完了系统会自动重启。第二次执行就是正常安装了。

(bash命令:执行一些脚本文件的命令)

安装方式二:自己安装

至于选择哪一个发行版做server(需要自己搞定上网问题)

我自己选择了Ubuntu Server 16 LTS作为入门。后来升级了系统,但出现了很多问题。然后把这个干掉,重新装了最新版。

(一).镜像下载完后,我选择用VMWare安装。VMWare为我们会进行简易安装,很方便的。就是自己设置好喜欢的用户名和密码即可。注:ubuntu18.04 LTS的安装界面有很大的变化,得自己一步一步设置。

(1).提示1:系统装完,先升级apt,不然你很多插件都装不上!命令:sudo apt update 然后 sudo apt upgrade

(2).提示2:新的系统,肯定有很多程序没有安装过,执行命令的时候,如果没有这个程序,ubuntu server会有对应的提示。直接提示了安装的命令,照着敲就可以了。

(3).查看当前系统的版本:sudo lsb_release -a

(二).XShell连接虚拟机

(1).本人安装了2018发布的python3.7.0

# 先安装依赖。避免 ModuleNotFoundError No module named "_ctypes" 这个错误
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev # 开始安装
# 实现准备好源码包
tar -xvf Python-3.7.0.tgz
cd Python-3.7.0
./configure
make
sudo make altinstall

(2).从国内的源,安装模块

例如安装虚拟环境:sudo pip3 install -i https://pypi.douban.com/simple virtualenv

(四).安装MySQL

https://www.linuxidc.com/Linux/2017-05/143864.htm

注意事项:装完MySQL后,如果不能 mysql -u root -p 被拒绝了,执行下面的代码:

sudo mysql -u root
use mysql;
mysql> update user set plugin='mysql_native_password' where User='root';
flush privileges;

(五).安装Redis

(1).先 sudo apt update

(2).然后输入命令:sudo apt install redis-server,进行直接安装。

(3).输入命令:redis-server,启动服务。

(4).可以使用"redis-server -v",来查看当前redis的版本。

(六).安装MongoDB

(1).直接打命令:"sudo apt install mongodb"

(2).使用"mongod --version",查看版本

(七).注意事项

(1).ubuntu系统默认是禁止root用户登录的

全局与虚拟环境:

(一).概念

首先,虚拟环境它不是虚拟机,它是在虚拟机中的一个开发环境。

虚拟机相当于一个水池,虚拟环境就是水池中的一个水桶。一个虚拟环境一个水桶,水桶与水桶之间相互独立,互不相关。

在全局中配置的python3环境,与虚拟环境也互不相关。

(二).用途

不同的项目也许用的是不用的解释器。比如,西瓜皮,它只支持python2.7。

难道会因为一个项目,而去改动全局环境吗?改不好,全局环境也崩了。

那么就建一个虚拟环境,然后在pycharm中,连接此虚拟环境中的解释器。

而其他项目,连接其他虚拟环境中的解释器。各个虚拟环境互不相关,所以也不会发生斗殴事件。

一、两个常用的虚拟机

虚拟机是什么?就是电脑系统中的一台小电脑。

VMware:

专业的虚拟机软件,非常好用!(就是吃内存厉害)

VMware11开始不再支持32位系统,VMware10是最后一个支持32位系统的版本。

特别注意:32位系统中运行"Ubuntu1604_server_32bit.oav"会有问题,需要在物理机的文件中,用记事本打开"Ubuntu1604_server_32bit.vmx",

把原本virtualhw.version="11"这一行中的"11",改成"10"。保存之后,再运行就没问题了。结果如下图:

二、两种联网模式

1.桥接:适用于wifi。和主机级别一样,就相当于再插了一根网线。

2.nat模式:相当于把物理机当成路由器,外面机子上网。

补充:virtualbox使用nat模式的话,xshell连接需要端口转发。VMware则极少需要端口转发。

端口不要随便写,避免写:80 8080 443 3389 8443,会占用!尤其是80 8080!

XShell采用SSH服务连接linux。

三、Linux基础内容

Linux稳定,而且多用户之间互不干扰。每一个用户都是在家目录下的一个文件夹。

Linux没有盘符,只有一个根目录,所有文件放在根目录下。

Linux一切皆文件,哪怕是目录,也是一个文件。

linux分区大小写!命令与参数之间要有空格!

四、Linux基础命令

(一).pwd 显示当前完整路径

(二).cd 交互目录

默认进入家(home)目录。切换根目录:cd /  切换回家目录:cd ~  切换用户:su root  退出当前用户,回到上一个用户:exit  只要不是根目录,就是相对路径:cd 目录名称/  上一次目录:cd -

补充:修改root密码:sudo passwd xxxxx。这个oav的root用户密码是随机的。root用户标识:#,普通用户标识:$。

(三).ls 查看

ls -a 所有文件(隐藏文件前有个点".")

ls -l 详细信息

ls -h 比较人性化

(经常是:ls -lh 出来的结果可视性特别好)

ls -S 区分大小写

(四).man 帮助

man +命令。但是cd没有帮助,是个例外。翻页:b向上,F向下,q退出

(五).tree 树状查看,看目录结构

如果报错了,就需要先安装一下:sudo apt-get install tree  sudo提权(root用户不用提权)

(六).mkdir 创建目录

mkdir -p 分级创建;mkdir -v 看过程;

例1:mkdir -vp aa/bb/cc 先创建aa,再在aa下建bb,再在bb下建cc;同理删除也可以 -vp

例2:mkdir qw we er 是三个同级目录了。

(七).touch 新建文件(可被编辑的)

例:touch demo.py 注:linux中的后缀是给人看的。linux没有区分什么文件,认为都是文件。

(八).rmdir 删除空目录(如果目录下有文件,就不会删)

例1:rmdir a/b/c 删除的是c目录,因为路径精确到了"c"

(九).rm 删除文件

rm -r 分级删除

例:rm -r a 删除了整个a目录

rm -f 强制删除

例:rm -rf * 可以这样说:千万不要用!全删了!恢复linux的代价相当巨大。

(十).cat 查看,cat猫,像猫一样瞄一下。

(十一).more / less

more翻完了自动退出,less必须按Q退出。

(十二).软硬链接

软硬链接:源文件中的内容改变了,链接文件的内容也同时修改了。

不同的是源文件被删后,软链接就废了。而硬链接还是可以使用。

硬链接相当于是备份。

Linux - Ubuntu Server基础的更多相关文章

  1. [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part II

    接着上一节继续搭建我们的LNMP平台,接下来我们安装PHP相关的服务 sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5- ...

  2. [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV

    接下来我们去下载 WorePress 用最新的 3.7.1 下载地址是:http://cn.wordpress.org/wordpress-3.7.1-zh_CN.zip 我们先建立一个文件夹 /va ...

  3. linux -- Ubuntu Server 安装图形界面

    1.连接网络,你一定要确保网络通畅,如果你和我一样使用Wireless,那先找根网线插上,因为下面的安装都要通过网络下载组件的. 2.进入图形界面的命令是startX,敲击后会有安装xinit的提示. ...

  4. [Linux] ubuntu server sudo出现sudo:must be setuid root 完美解决办法

    1.开机按shift或esc先进行recovery模式 2.选择root命令行模式 3.先执行 #mount -o remount,rw / 这个很重要,网上找的很多资料都不全没有这步造成无法恢复成功 ...

  5. Linux高性能server编程——Linux网络基础API及应用

     Linux网络编程基础API 具体介绍了socket地址意义极其API,在介绍数据读写API部分引入一个有关带外数据发送和接收的程序,最后还介绍了其它一些辅助API. socket地址API 主 ...

  6. Linux ubuntu下docker容器安装和基础命令

    Docker介绍: 云计算就好比大货轮,docker就是集装箱虚拟机虽然可以隔离出很多"子电脑",但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare). 而容器技术 ...

  7. The Guideline of Setting Up Samba Server on linux(Ubuntu)

    The Guideline of Setting Up Samba Server on linux(Ubuntu) From terminate command window, install the ...

  8. Tomcat安装 以Linux 分支 Ubuntu Server 为例

    以Linux 分支 Ubuntu Server 为例.一.相关目录及作用说明 /etc/tomcat6 - 全局配置 /usr/share/tomcat6/ - 程序主目录 /usr/share/to ...

  9. ASP.NET Core:部署项目到Ubuntu Server

    概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整天和Windows打交道的我,初次使用Linux确实有点 ...

随机推荐

  1. qml自学笔记------自己写相似于劲舞团的按键小游戏(中)

    接上篇<qml自学笔记------自己写类似于劲舞团的按键小游戏(上)> 第三部分DisplayPart.qml 代码的其它部分都是渣,就这里花了点时间,整个小游戏就靠这个文件. 首先,屏 ...

  2. mac中yeoman构建你的项目

    一开始用在mac中构建一个项目就遇到一个很奇怪的事, 做好各种准备工作后,我开始创建一个angular01作为测试目录,结果运行yo脚手架之后,选择angular工作流进行构建项目,出来的结果我开始慌 ...

  3. 19、Cocos2dx 3.0游戏开发找小三之Action:流动的水没有形状,漂流的风找不到踪迹、、、

    重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30478985 流动的水没有形状.漂流的风找不到踪迹. ...

  4. /proc/meminfo详解 = /nmon analysis --MEM

    memtotal hightotal lowtotal swaptotal memfree highfree lowfree swapfree memshared cached active bigf ...

  5. Swift学习-枚举(Enumerations)的使用方法

    Swift学习-枚举的使用方法 枚举的使用语法: enum someEnumer { // 枚举的成员值 } 以下是方向的一个例子: enum direction { case Up case Dow ...

  6. CSDN开源夏令营 百度数据可视化实践 ECharts(4)

    ECharts知识点总结: 在应用过程中总会遇到一些难以理解的概念和属性,这里就总结了一下比較难的知识点,方便理解概念.进而更好的掌握ECharts. (1)1.  一个完整的option包括什么?能 ...

  7. SGDMA-----Scatter-gather DMA

    Scatter-gather DMA 使用一个链表描述物理上不连续的存储空间,然后把链表首地址告诉DMA master.DMA master在传输完一块物理连续的数据后,不用发起中断,而是根据链表来传 ...

  8. ResultSet详解(转)

      ResultSet用法集锦 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成 ...

  9. C#动态调用WCF接口(2)

    如何使用 1.第一种方式比较简单,而且也是大家喜欢的,因为不需要任何配置文件就可解决,只需知道服务契约接口和服务地址就可以调用. 2.使用Invoke的方式,但是需要在调用客户端配置WCF,配置后在I ...

  10. cef

    http://blog.csdn.net/hats8888/article/details/53886591 http://blog.csdn.net/gong_hui2000/article/det ...