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. Android架构分析之Android消息处理机制(一)

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在这个系列文章中我们将来分析Android消息处理机制. 本文介绍了一个使用Han ...

  2. Django——WEB三层架构与MVC

    而我发此文的目的有二:一者,让初学者能够听到一家之言,是为解惑:二者,更希望抛砖引玉,得到专家的批判. 许多学生经常问我,MVC到底和WEB三层架构有啥关系? 开始时,我也只能给他们一些模糊的回答.时 ...

  3. Spring HibernateTemplate

    HibernateTemplate利用模板设计模式,可将重复的opensession getcurrentsession工作省去,只将必要操作执行即可,其它的由spring来帮我们处理.   < ...

  4. KINavigationController使用演示例子

    代码地址如下:http://www.demodashi.com/demo/12905.html 运行效果 实现思路 创建pan手势,添加到页面中,监听手势的动作.重写push的方法,在push之前截图 ...

  5. Jmeter-性能测试(三)

    一.调通脚本(以json串Post接口为例)添加聚合报告(线程组->添加->监听器->聚合报告)并调试好需要压测的脚本,如下已经调通的P_C_B151就是我需要压测的脚本 二.设置场 ...

  6. mongoDB _id:ObjectId("xxxx")详解

     http://blog.haohtml.com/archives/10678   MongoDB ObjectId的优化  

  7. HTML5特性

    HTML5规范围绕如何使用新增标记定义了大量Javascript API,其中一些API与DOM重叠,定义了浏览器应该支持DOM拓展. 1.与类相关的扩充 HTML5新增了getElementsByC ...

  8. js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域

    js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...

  9. 【C语言天天练(二三)】errno变量

    引言: 在C编程中,errno是个必不可少的变量.特别是在网络编程中. 假设你没实用过errno,那仅仅能说明你的程序不够健壮. 为什么会使用errno呢?这是系统库设计中的一个无奈之举.他很多其它的 ...

  10. springboot学习(八) 使用jpa访问数据库

    1.添加maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connecto ...