zoukankan      html  css  js  c++  java
  • 系统 --- Linux系统环境搭建

    Linux命令介绍

    软硬链接

      作用:建立连接文件,linux下的连接文件类似于windows下的快捷方式

      分类:

        软链接:软链接不占用磁盘空间,源文件删除则软链接失效

        硬链接:硬链接只能链接不同文件,不能链接目录

      创建:

        软链接:ln -s 源文件 链接文件

        硬链接:ln 源文件 链接文件

      注意:

        软链接:如果软链接文件和源文件不在同一个目录下,源文件要使用绝对路径,不能使用相对路径 

        硬链接:两个文件占用相同大小的磁盘空间,即删除源文件,链接文件还是存在。

    远程拷贝

      本地文件复制到远程:scp -r 本地文件的绝对路径或相对路径 目标用户名@目标主机ip地址: 目标文件的绝对路径

      远程文件复制到本地:scp -r 目标用户名@目标主机ip地址: 目标文件的绝对路径  保存到本机的绝对路径或者相对路径

    Python环境安装

    安装所需包文件

    • apt update  更新源信息
    • python python3  检查是否安装了python或python3
    • apt install python-dev python3-dev   安装python环境开发包
    • apt install python-pip python3-pip    安装python包管理工具
    • pip install virtualenvwrapper             安装pythonde虚拟环境 

    配置虚拟环境

    • pwd  查看当前目录在/root下
    • mkdir .virtualenvs  创建虚拟环境文件
    • find / -name virtualenvwrapper.sh  查找虚拟环境文件的位置。文件在/usr/local/bin/virtualenvwrapper.sh位置
    • vim .bashrc  末行添加虚拟环境的环境变量。然后wq保存退出。
      • # python VirtualEnv
      • export WORKON_HOME=/root/.virtualenvs
      • source /usr/local/bin/virtualenvwrapper.sh
    • source .bashrc 将虚拟环境激活一下

    创建虚拟环境

    • mkvirtualenv GYPText -p /usr/bin/python3  创建虚拟环境GYPText,并制定python的解释器
    • deactivate  退出虚拟环境 

     创建工程依赖

    • 环境迁移:pip install -r requirements.txt [安装 requirements.txt 中所列举的依赖包]

    Mysql安装和配置

    服务端安装 [Linux]

    • sudo  apt-get  update
    • sudo  apt-get  install  mysql-server  安装过程中需要输入用户名密码
    • sudo  service  mysql  start               启动服务
    • sudo  service  mysql  stop               停止服务
    • sudo  service  mysql  restart            重启服务

    启动后链接 

    • mysql -uroot  -p                           回车后 输入密码连接
    • quit                                             退出连接
    • mysql  -h 远程ip地址  -uroot -p      连接远程服务器的数据库

    可视化软件

    • 如果是连接远程服务器的mysql,需要打开远程阿里云服务器的安全组协议[参考本地文档]

    Redis安装与配置

    下载解压

    • redis安装需要去其官网https://redis.io/获取下载地址:http://download.redis.io/releases/redis-5.0.7.tar.gz
    • mkdir software  创建自己软件的文件夹
    • cd softwate   进入这个文件夹
    • wget http://download.redis.io/releases/redis-5.0.7.tar.gz  下载redis
    • ls  查看会有一个redis-5.0.7.tar.gz文件
    • tar -zxvf redis-5.0.7.tar.gz  解压此文件
    • ls  查看会有两个文件redis-5.0.7  redis-5.0.7.tar.gz

     编辑安装

    • cd redis-5.0.7  进入到redis-5.0.7文件
    • make  编译构建一下
    • make test  测试一下,需要tcl支持库 
    • apt install tcl 安装tcl
    • make test 再次测试一下。成功
    • make install 安装redis,会跳到上层目录
    • cd utils  进入到工具文件夹下
    • ls 查看,文件夹下有一个安装服务器脚本install_server.sh
    • ./install_server.sh  调用此脚本进行安装
    • 安装过程
      • 选择端口,回车默认6379
      • 选择conf名称,回车默认6379.conf
      • 选择log日志的位置,回车默认/var/log/redis_6379.log
      • 选择存放实例文件夹,回车默认/var/lib/redis/6379
      • 选择redis执行实例,回车默认/usr/local/bin/redis-server
      • 回车确认配置信息
      • 安装 成功
    • ps -ef | grep redis 查看redis进程,redis-server已经启动

    操作redis

    • redis-cli  连接redis,需要在redis-server启动的情况下连接
    • ping 结果是pong表示可以连接

    Redis主从配置

      一个master(主,管理者)可以对应拥有多个slave(工作者),一个slave又可以拥有多个slave,如此下去,就可以形成一个强大的多级服务器集群架构。其实这就是redis分布式的一个问题。比如将ip为112.126.60.17的机器为主服务器,将ip为112.126.60.18机器作为从服务器。一般从服务器不用我们管,我们在主服务器存的数据,从服务器上自动同步做备份过来一份,其实这就是容灾的原理。其实这就是主从配置,也就相当于形成了两个集群,一个集群是主的,一个集群是从的。可能需要在同一个网段才可以实现(自己的两个虚拟机)。一般普通公司不会做主从配置,因为需要另一台服务器开销太大。

    • 设置主服务器的配置

      • sudo vim /etc/redis/6379.conf 进入主rides服务器配置文件

      • /bind 底行模式查找bing行配置

      • bing 112.126.60.17 配置为阿里云主redis服务器ip私有IP地址信息

      • wq!

      • ps -aux | grep redis 查看redis进程

      • sudo kill -9 redis进程号

      • sudo /usr/local/redis/src/redis-server /etc/redis/6379.conf 重新启动redis服务

    • 设置从服务器的配置

      • sudo vim /etc/redis/6379.conf 进入从rides服务器配置文件

      • /bind 底行模式查找bing行配置

      • bing 112.126.60.18 配置上阿里云从redis服务器的私有ip地址信息

      • slaveof 112.126.60.17 6379 配置上阿里云reids主服务器的私有ip地址信息

      • wq!

      • ps -aux | grep redis 查看redis进程

      • sudo kill -9 redis进程号 杀死终止reids进程

      • sudo /usr/local/redis/src/redis-server /etc/redis/6379.conf 重新启动redis服务

      • sudo redis-server /etc/redis/6379.conf 也可以这样启动

    • 连接使用redis主服务器(master服务器上写数据)

      • redis-cli -h 阿里云公有ip主服务器地址 -p 6379 连接redis服务

      • auth reids密码 输入redis密码连接

      • set aaa bbb 在主服务器中存入键值对aaa:bbb

    • 连接使用redis从服务器(slave服务器上读取数据)

      • redis-cli -h 阿里云公有ip从服务器地址 -p 6379 连接redis服务

      • auth reids密码 输入redis密码连接

      • get aaa 在从服务器中通过键aaa获取值

      • "bbb"

     Redis发布订阅

    项目环境配置

    工程创建:[爬虫工程为例,web工程类似] 

      最好做到一个项目一个虚拟环境。项目多后方便查看项目所用各工具的版本。

    1. 先在终端: cd到存放的目录下并进入虚拟环境
    2. 创建项目: scrapy startproject 工程项目名
      1. cd到项目的根目录                                 [一个项目一个虚拟环境的创建虚拟环境方式]  
      2. 虚拟环境: mkvirtualenv 虚拟环境名            [建虚拟环境要在项目的根目录下建]
      3. 进入环境: source 虚拟环境名/bin/activate  [虚拟环境目录在此项目的根目录下]
      4. 建包文件: touch requirements.txt              [新建一个txt文件,用来存放安装的工具包名称]
      5. 进入文件: vim requirements.txt                 [编辑输入需要的包文件名称,并保存退出]
      6. 执行文件: pip install -r requirements.txt     [执行该文件会安装里面的包文件;可以pip freeze > requirements.txt生成该文件]
      7. 创建爬虫: scrapy genspider 爬虫名 域名     [爬虫名最好起爬哪一个板块叫哪一个板块名称,不要和项目名同名]
      8. 打开项目: 用pycharm打开此项目
    3. 然后再在: pycharm中打开此项目(空工程)          
    4. 创建爬虫: scrapy genspider 爬虫名 该网站域名    pycharm终端[gyp@localhost ~/pyword/spider05/MyScrapy] $scrapy genspider budejie budejie.com
    5. 运行爬虫: scrapy crawl 爬虫名 [-o xx.json/xml/csv] scrapy crawl qiubai -o budejie.json
    6. 代码调试: scrapy shell 
    7. 查看版本: scrapy version
    8. 具体查看: 查看运行scrapy的python版本:
      1.   which scrapy 找到scrapy文件存储路径 。scrapy文件是一个可执行文件(也可说是一个python文件)
      2.   vim  查找到的路径。打开此可执行文件后的第一行 #!表示执行此可执行文件的解释器(python)的路径
      3.   此python解释器的路径 + -V   命令即可知道此执行文件scrapy的解释器python的版本号是多少。


    django-debug-toolbar

    介绍:django-debug-toolbar 是Django调试工具条,提供了各种信息的获取,拥有极强的调试功能。

    官网:https://django-debug-toolbar.readthedocs.io/en/latest/

    安装:

    • pip install django-debug-toolbar 
    • pip install django-debug-toolbar -i https://pypi.douban.com/simple

    注册:

    • settings.py
    # Application definition
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',  # 1. 静态文件注册
        'user.apps.UserConfig',
        'debug_toolbar',               # 2. 注册django-debug-toolbar
    ]
    
    MIDDLEWARE = [
        'debug_toolbar.middleware.DebugToolbarMiddleware', # 4. 配置debug-toolbar中间件
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    
    
    STATIC_URL = '/static/'              # 3. 配置静态文件路径
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static')
    ]
    
    INTERNAL_IPS = ['127.0.0.1','localhost']  # 5. 配置允许访问的主机ip
    • urls.py [根URL中]
     1 from django.contrib import admin
     2 from django.urls import path, include
     3 from djangp_work import settings
     4 
     5 urlpatterns = [
     6     path('admin/', admin.site.urls),
     7     path('user/',include('user.urls',namespace='user')),
     8 ]
     9 
    10 if settings.DEBUG:
    11     import debug_toolbar
    12     urlpatterns = [
    13         path('__debug__/', include(debug_toolbar.urls)),
    14     ] + urlpatterns

     效果:

       

     注释:

    • Versions:各版本信息
    • 时间:各过程加载的时间
    • Settings:此项目的所有配置
    • Headers:请求头、相应头
    • Requets:请求信息
    • SQL:可以动态追中所有语句、消耗时间。方便优化

    thefuck

    文档:https://github.com/nvbn/thefuck

    安装:

    • brew install thefuck  [Mac]
    • sudo apt update          [Ubuntu]
    • sudo apt install python3-dev python3-pip python3-setuptools
    • sudo pip3 install thefuck

    配置:

    1. sudo vim .bashrc   [Ubuntu]   进入配置文件
    2. sudo vim ~/.bash_profile [Mac]  进入配置文件
    3. 末行添加:
      1. eval $(thefuck --alias)
      2. # You can use whatever you want as an alias, like for Mondays
      3. eval $(thefuck --alias FUCK)
    4. :wq 保存退出
    5. source .bashrc  刷新启动  

    使用:

      在终端输入命令时,如果命令输入错误不能执行,

      输入 fuck 就可以自动更改,上下键选择,ctrl+c退出

      如果还不对可以继续fuck

     
    生如逆旅 一苇以航
  • 相关阅读:
    多态中的虚析构函数
    mysql-2-where
    mysql-1-select
    高维稀疏数据的异常检测
    隐马尔可夫模型 Hidden Markov Model
    协同过滤 Collaborative Filtering
    内容推荐
    推荐系统中的基本问题
    HDR视频生态圈追踪
    从强提醒说起——社交场景下的万有“隐力”
  • 原文地址:https://www.cnblogs.com/TMMM/p/11522537.html
Copyright © 2011-2022 走看看