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. JAVA学习笔记 -- 多线程之共享资源

    在多线程程序执行过程中,可能会涉及到两个或者多个线程试图同一时候訪问同一个资源.为了防止这样的情况的发生,必须在线程使用共享资源时给资源"上锁",以阻挡其他线程的訪问. 而这样的机 ...

  2. [iOS]在NavigationController中的ScrollView中的子视图都会下移64个像素

    情况是这种: 我有一个UINavigationController,设置为self.window的root视图, 然后有一个UIVIewController是UINavigtionController ...

  3. HTML ui ol dl

    <!-- 超链接target的属性 _blank 在新窗体中打开被链接文档. _self 默认. 在同样的框架中打开被链接文档. _parent 在父框架集中打开被链接文档. _top 在整个窗 ...

  4. android:ellipsize实现跑马灯效果总结

    最近无意间看到了涉及到跑马灯效果的代码,于是在网上查阅了很多资料,在这里对自己看的一些文章进行一下总结,顺便加上自己的一些体会. 让我们一步步逐渐向下. 首先我们要实现走马灯这样一个效果,通常来说都是 ...

  5. 切换默认Activity和Fragment的动画

    Activity中 public void click(View view){ Intent intent = new Intent(); intent.setClass(this, TwoActiv ...

  6. .NET 环境中使用RabbitMQ RabbitMQ与Redis队列对比 RabbitMQ入门与使用篇

    .NET 环境中使用RabbitMQ   在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的 ...

  7. C# 6.0语法糖剖析

    C# 6.0语法糖剖析 2016年12月16日 16:10:27 阅读数:586   版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载. https ...

  8. atitit.atiLinq v2新特性attilax大总结 q326

    atitit.atiLinq v2新特性attilax大总结 q326 1. V3规划 (分开sql2obj sql2sql sql2xml)1 2. V2新特性 Url linq的定义1 3. V1 ...

  9. [精]Oracle 11G数据库VMware虚拟机下载

    虚拟机文件下载地址: http://pan.baidu.com/s/1pJL5Tub 备份一个防止失效 https://pan.baidu.com/s/1nvbZQad Readme文件: 数据库版本 ...

  10. deepin linux下python安装mysqldb

    ` sudo pip search MySQL-python `