精华内容
下载资源
问答
  • 很多新人或者老手,不知道自己工作电脑配置需要什么样的,现在说明白了。 说明 首先我还是先说答案吧,省得看到最后失望,其实这个伪命题,没有绝对结果,卡与不卡相对的。 硬件要求 1、UG NX软件对电脑...

    概述

    很多新人或者老手,不知道自己工作电脑配置需要什么样的,现在说明白了。

    说明

    首先我还是先说答案吧,省得看到最后失望,其实这是个伪命题,没有绝对结果,卡与不卡是相对的。

    硬件要求

    1、UG NX软件对电脑硬件有什么要求?

    这个问题是经常看到有人问的,可是看到大部分人的回答都是CPU用I7/I5什么的,但是这个真的就不卡了吗?答案肯定是NO,谁都知道越贵配置越好,有钱当然买贵的,可是预算有限的情况下该怎么办呢?

    首先,我先说说UG NX软件的基本入门配置吧(NX11.0以上版本除外):

    CPU要求:第四代奔腾3.0以上

    内存要求:512MB以上

    注:NX11.0以上版本对CPU有特别要求,必须要支持:SSSE3

    这个配置也就是10年前的电脑配置,只要不低于这样的电脑就可以安装UG软件,事实上平常来说,一般的家用电脑配置都可以运行。

    有些公司UG软件只是画一些简单的制图,按目前的市场上的硬件产品可以随便配,没事,如果一定要认为NX软件对电脑硬件有什么要求,那就是显卡了,NX软件(其它软件也是一样)开发的设计基准是对标专业绘图显卡,而绝大部分人买的都是游戏显卡,NVIDIA的GT/GTX系列,ATI的HD系列,这些显卡用来作图显然是不太适合的,但是一般私人电脑无所谓,因为至少它大体还是兼容的,只是发挥不出性能。

    如果你是工作用,或者公司采购,建议上专业级绘图显卡,毕竟公司花出去同样的钱,能提高部分工作效率还是值得的。

     ug软件显卡要求

    2、专业绘图显卡是什么样的?

    目前世面上大概有两种专业绘图显卡:

    1、NVIDIA Quadro(丽台)

    2、ATI FirePRO (蓝宝石)

    这两种显卡都是专业的绘图显卡,如果有条件,就上这类专业显卡。

    如果条件有限,至少要上入门级的,比如Quadro P620或者P1000,尽管是入门级专业显卡,但还是要1000多2000多的价格,不过现在很多人配普通家用电脑显卡都是超出1000多元了。如果有条件,尽量上P2000,这个是最推荐的,性价比高,如果你的要求比较高想上万元级的主机,那么可以考虑P4000的显卡。

     ug软件选高配电脑一定好?

    3、配置高的电脑就一定不卡吗?

    错,如果硬件配置高,而对应的驱动或者NX软件与硬件不兼容,则一样卡的,而且会特别卡,如果你的电脑配置很高,却很卡,则就要排除看看是不是此问题了。

     

    比如加载这样的部件都会卡,说你的硬件驱动有问题

    ug软件遇电脑兼容问题怎么办?

    4、电脑配置很高,软硬件兼容也没问题,还是有点卡怎么办?

    这种一般在加载大型部件(通常指50MB以上)的时候会出现,配置已经很高了(图形工作站也是一样),但还是有点卡,这种情况是没办法通过某个设置就变得不卡了,但可以通过一些使用技巧缓解卡顿,这个这里就不细讲了,等下次做个专题来分享。

    类似于这样的模型,再好的配置都会卡的

    UG编程到底选择什么样的电脑最好?

    5、总结:到底什么样的配置才不卡?

    前提:

    NX软件对电脑配置没有特别的要求,如果可以,在买普通游戏显卡当作运行NX软件的主机时候建议用N卡(在少数情况下,游戏A卡会出现一些不兼容),也就是NVIDIA芯片的就可以,综上,如果有条件请尽量用专业级显卡,这样N卡和A卡都可以。

    强烈建议购买固态硬盘(SSD),然后把系统装在固态硬盘上,并且把NX软件也装在C盘的系统固态硬盘里,这样可以大大提升NX软件的运行速度。

    装机建议:

    1、普通图纸、零件等三维建模,一般不低于3000元配置的主机即可。

    2、一般模具、一般的装配体,一般不低于5000元的配置即可。

    3、点云逆向建模用户,建议配置不低于5000元,曲面、点很吃内存。

    4、经常50MB以上的大模型、大型装配体,建议上图形工作站,一般10000+

     

    特别提示

    如果有条件,主机最好自己组装,这样可以选择自己想要的配置。电脑城、网购的主机一般都是比较坑的,因为商家为了吸引买家搞噱头,通常会把电脑某一个硬件配得很高,而其它的一些硬件比较差,有的用杂牌充次,我想只要懂些电脑的人都知道,一台好用的电脑得在同样价钱的情况下硬件必须要均衡。

     

     UG编程关于选择笔记本电脑专项说明

    一般来说,都不建议使用笔记本电脑用来长期工作,因为配置再好的笔记本,都有它致命的缺陷,那就是散热问题,电脑一发热,再好的配置也是浮云。并且,笔记本电脑鼠标、键盘都是缩小设计的,这会影响工作效率。

    如果工作要用到,经常移动使用,那就随便买个了,大概5000~6000就不错了,没必要买很高配置。当然,你不差钱的话就无所谓。

    学ug编程请滴滴我V:ug6667,赠送100G编程学习教程。

    enjoy!

     

    展开全文
  • 这个部署配置清单是指,我们部署到服务器之后,还要对哪些配置进行修改 1、为什么部署之后要针对【】配置 开发环境: 一般是本地电脑 为开发服务,一般不会接触到外界 生产环境: 服务器 提供web服务,面临...

    40、部署配置清单

    这个部署配置清单是指,我们部署到服务器之后,还要对哪些配置进行修改

    1、为什么部署之后要针对配置

    • 开发环境:

      • 一般是本地电脑
      • 为开发服务,一般不会接触到外界
    • 生产环境:

      • 服务器
      • 提供web服务,面临外界复杂未知的环境,可能存在各种危险(XSS攻击、DDos攻击、盗链、渗透、爬虫、暴力破解、安全漏洞等等)
    • 1)在互联网的人并非全都是友好的

    • 2)要有防范安全意识和相关措施

    • 3)Django已经为我们做了不少安全处理
      在这里插入图片描述
      在这里插入图片描述

    在这里插入图片描述

    2、Django部署配置清单

    • 1)关闭Debug
      (1)多个settings.py文件
      (2)allow_hosts
      (3)使用环境变量设置敏感信息
      (4)日志文件
      (5)发生错误时,邮件通知管理员
      (6)404、500错误页面
    • 2)静态文件
      (1)收集静态文件
      (2)favicon.ico
    • 3)设置上传文件目录的权限
      在这里插入图片描述

    1)关闭Degug

    (1)多个settings.py文件

    (2)allow_hosts

    settings.py文件中有一个Debug = True,我们设置为True,指开启了调试,在本地开发的时候可以看到一些调试的信息。当发生错误时候,它还会把错误信息写到页面上,还有错误跟踪,甚至一些变量有一些敏感信息,我们在本地开发的时候在本地去用是没有问题的,但一旦放到服务器,把这些信息显示出来是很危险的。所以我们需要做一些针对性的设置。

    但如果我们直接改成False,是有一些问题的,我们本地的时候需要设为True,在服务器的时候需要设为False,这样子来回改动比较麻烦,那么我们可以采取第二种方法,判断当前环境是开发环境还是生产环境,这里一般可以判断ip地址,如果是服务器ip地址的话,就设为False。不过这个办法也不是特别好,这样会把开发环境的settings配置和生产环境的settings配置混到一起,这样不方便我们进行一些多样化处理。

    这里最好的方法是有两套settings.py文件:
    在项目目录mysite下新建一个文件夹settings,把__init__.py文件复制进去,这个settings文件夹就是一个包了。然后把外面的settings.py剪切进来,复制一份,分别命名为development.py(本地的settings.py)、production.py(服务器的settings.py)。
    在这里插入图片描述
    这样的话,我们就可以通过mysite.settings.development和mysite.settings.production找到配置文件。演示如下:

    我们在cmd中启动虚拟环境,输入python manage.py runserver --settings=mysite.settings.development,回车,没有报错,但刷新页面还是显示有一个问题,模板文件找不到TemplateDoesNotExist
    在这里插入图片描述
    在这里插入图片描述
    这主要是因为路径有问题,我们需要修改下development.py里面的基础目录BASE_DIR,这个变量意思是找到当前文件的所在位置,然后找到它所在的文件夹名称(上级目录), 再找到该文件夹所在的文件夹名称(即上上级目录,项目所在目录),现在需要我们加多一层上级目录。保存刷新页面,就可以了。(production.py同理)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    不过这里每次运行服务python manage.py runserver --settings=mysite.settings.development都要加一个–settings参数,有点麻烦,我们可以通过一个地方进行修改。可以看到这里是通过关联文件manage.py关联这个脚本去运行的,打开manage.py我们可以发现,这里面会设置一个环境变量,我们可以做如下修改,然后cmd中输入python manage.py runserver运行,就可以了。
    在这里插入图片描述
    在这里插入图片描述

    这里我们是修改本地开发环境对应的manage.py里面的配置文件路径,那我们服务器不是用这个文件,而是用的mysite/wsgi.py文件,同样的,我们需要把这里面的环境变量修改一下
    在这里插入图片描述
    这样的话,我们就把settings.py变成两套配置了,我们需要用哪套的时候再用哪套。

    我们发现development.py和production.py这两个配置文件有一些共同的内容,写在两个地方的话可能会有些混乱,甚至这些内容是不需要去更改的,那么这里我们可以这样子处理:

    在mysite/settings目录下新建一个公共的基础配置文件base.py,将development.py和production.py这两个配置文件的公共部分写到base.py中,而各自只保留各自的配置内容,然后加上一行引用base.py文件的代码from .base import *。如下所示:
    私有的内容:

    —— development.py production.py
    SECRET_KEY
    DEBUG DEBUG = True DEBUG = False
    ALLOWED_HOSTS ALLOWED_HOSTS = [] ALLOWED_HOSTS = ['*']
    DATABASES 本地可以用SQLite 生产环境可以用MySQL
    EMAIL设置部分

    其他的都是基础配置base.py的内容

    base.py:

    import os
    
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'ckeditor',
        'ckeditor_uploader',
        'blog',
        'read_statistics',
        'comment',
        'likes',
        'user',  
    ]
    
    MIDDLEWARE = [
        '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',
    ]
    
    ROOT_URLCONF = 'mysite.urls'
    
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [
                os.path.join(BASE_DIR, 'templates'), # 指向具体路径 mysite_env\mysite\templates
            ],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                    'user.context_processors.login_modal_form',
                ],
            },
        },
    ]
    
    WSGI_APPLICATION = 'mysite.wsgi.application'
    
    AUTH_PASSWORD_VALIDATORS = [
        {
            'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
        },
    ]
    
    LANGUAGE_CODE = 'zh-hans'     # 设置语言:原本是英文'en-us'
    
    TIME_ZONE = 'Asia/Shanghai'
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = True
    
    STATIC_URL = '/static/'
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
    ]
    
    # media配置
    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    
    # 配置ckeditor
    CKEDITOR_UPLOAD_PATH = 'upload/'
    
    CKEDITOR_CONFIGS = {
        'default': {},
        'comment_ckeditor': {
            'toolbar': 'custom',    # 富文本编辑框的工具栏
            'toolbar_custom': [
                ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript'],
                ['TextColor', 'BGColor', 'RemoveFormat'],
                ['NumberedList', 'BulletedList'],
                ['Link', 'Unlink'],
                ['Smiley', 'SpecialChar', 'Blockquote'],
            ],
            'width': 'auto',    # 宽度
            'height': '180',    # 评论框高度
            'tabSpaces': 4, # 按tab键会变成4个空格
            'removePlugins': 'elementspath',    # 去掉底部栏
            'resize_enabled': False,    # 去掉底部栏
        }
    }
    
    # 自定义参数
    EACH_PAGE_BLOGS_NUMBER = 7
    
    # 缓存设置
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
            'LOCATION': 'my_cache_table',   # 缓存的表名(也可以自己定义)
        }
    }
    

    这就是前面提到的(1)多个settings.py文件(2)allow_hosts

    (3)使用环境变量设置敏感信息

    这两个设置完之后我们看(3)使用环境变量设置敏感信息。

    敏感信息主要是密钥(SECRET_KEY)、数据库密码(DATABASES-PASSWORD)、授权码(EMAIL_HOST_PASSWORD)这三个。在开发环境中这样写是没有问题,如果是放到服务器环境,我们最好把这些配置文件这些敏感信息写到环境变量里面,然后我们通过读取环境变量的形式把这些信息获取到。环境变量的读取我们刚刚也在manage.py中提到过,同样也是用os.environ,修改production.py中这一行:
    在这里插入图片描述

    当前前提是环境变量需要写入变量值就行:在windows的话,就是打开高级系统设置——系统变量——新建——变量名:SECRET_KEY,变量值复制进来。这个密钥跟密码没有关系,它是涉及到数据传输的时候,像cookie、session这些传输的时候,它会通过这个东西去加密解密,所以这个比较重要,在生产环境的时候要记得保密。
    在这里插入图片描述

    当然,我们在服务器的时候,跟本地的密钥最好不要用一样的,我们可以手动去生成,在cmd输入python manage.py shell 进入到shell模式,输入:

    > from django.core.management import utils
    > dir(utils)
    > utils.get_random_secret_key()
    

    在这里插入图片描述

    可以看到,执行这句代码就能得到随机的密钥,我们可以复制这个密钥然后在服务器上设置这个Linux环境变量。

    同样的,production.py这里还有数据库密码和授权码也可以这样子设置,修改如下:
    在这里插入图片描述

    然后我们进入到服务器去设置一下,打开git,登录。
    Linux环境变量的设置有一种方法是直接用export赋值,不过这个是临时的,我们关掉控制台就失效了。这里我们要处理一个文件,输入vim /etc/profile,在这个文件最后位置输入如下代码,这里的密钥就是上面shell里面我们复制过来的,数据库密码这里尽量不要跟本地的一样,因为我们这个代码会放到github上面,很多人都能看得到,我们可以选择付费或者gitlab的形式让它变成私密的:
    在这里插入图片描述

    export SECRET_KEY="67=z0lr9kh+h....b(3=**m@dtxinhk^%4v*ps"
    export DATABASE_PASSWORD="abc.....6"
    export EMAIL_HOST_PASSWORD="dhvb.....ehccc"
    

    保存退出,然后输入source /etc/profile让它生效,我们可以输入echo $EMAIL_HOST_PASSWORD打印出内容,查看有没有生效
    在这里插入图片描述
    同样的,本地的development.py里面的EMAIL_HOST_PASSWORD我们也要把它写入到环境变量里面,写到系统环境变量里的 好处就是,我们直接更改之后是直接生效的,不用重启服务器
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    (4)日志文件

    (5)发生错误时,邮件通知管理员

    接着我们来看下一个(4)日志文件
    我们关闭Debug的时候,我们这些调试信息一旦犯错误,我们是看不到这些错误信息的,这不太利于我们去找到错误,那么这样的话, 我们最好是写一个日志文件,让它发生错误写到日志里面。
    我们可以在production.py里面配置,因为我们本地开发环境是不需要日志文件的,修改production.py如下(django官网也有)
    在这里插入图片描述
    在这里插入图片描述

    对应的,我们在/home下新建文件vim mysite_debug.log,通过ls -al可以查看得到它的权限,显示只有创建者才可写,我们输入chmod 666 mysite_debug.log修改它的权限让其他人都是可写的(666表示自己可读可写、所属组的人可读可写、其他人可读可写)
    在这里插入图片描述
    production.py:
    配置日志文件

    # 日志文件
    LOGGING = {
        'version': 1, # 版本,自己命名
        'disable_existing_loggers': False, # 是否禁用已经存在的记录器
        'handlers': {   # 处理器
            'file': {   # 把日志写到一个文件里面
                'level': 'DEBUG',
                'class': 'logging.FileHandler',
                'filename': '/home/mysite_debug.log',    # 指定目录,
            },
            'mail_admins': {    # 发送邮件给管理员
                'level': 'ERROR',
                'class': 'django.utils.log.AdminEmailHandler',
            }
        },
        'loggers': {    #日志记录器
            'django': {
                'handlers': ['file'],   # 启用‘file’这个处理器
                'level': 'DEBUG',   # 级别
                'propagate': True,  # 日志记录完之后,需不需要继续往上传递(DEBUG-->DEFAULT-->WARNING-->ERROR)
            },
            'django.request': {
                'handlers': ['mail_admins'],
                'level': 'ERROR',
                'propagate': False,
            },
        },
    }
    

    配置管理员

    # 配置管理员(可以配置多个)
    ADMINS = (
        ('admin', '1248...@qq.com'), # 元组:管理员名称、邮箱
    )
    

    另外,发送邮箱设置这里也要改一个地方,腾讯云25号端口比较容易开,而阿里云25号端口是很难开的,它建议使用465这个端口,使用465端口的话,对应的要修改EMAIL_USE_TLSEMAIL_USE_SSL开启安全链接(同理,这个465端口我们也要加到阿里云服务器的安全组里去)
    在这里插入图片描述

    在这里插入图片描述

    (6)404、500错误页面

    这样,我们日志文件和邮箱(4)(5)也配置好了,另外我们还有个(6)404、500错误页面。
    在templates下新建404.html(复制error.html)和500.html
    404.html

    <!-- C:\Users\12482\Desktop\py_learn\Django2.0_chapter46\mysite_env\mysite\templates\404.html -->
    {% extends 'base.html' %}
    
    {% block title %}
    	我的网站 | 页面找不到
    {% endblock %}
    
    {% block content %}
        404,找不到页面!迷路啦?
    {% endblock %}
    

    500.html

    <!-- C:\Users\12482\Desktop\py_learn\Django2.0_chapter46\mysite_env\mysite\templates\500.html -->
    {% extends 'base.html' %}
    
    {% block title %}
    	我的网站 | 发生错误
    {% endblock %}
    
    {% block content %}
        500,发生错误!我已经发送邮件给管理员了
    {% endblock %}
    

    修改完毕后,我们打开mysite——git,输入git statusgit add .git commit -m "部署配置优化"git push,提交代码到服务器上。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    提交完成之后,我们再到服务器上登录,cd /home/mysite进入到项目目录里,git status查看状态,输入git pull,pull成功之后,输入service nginx restart重启服务器软件(这里我们暂时用nginx,如果是apache的话,输入apache2ctl restart)。
    重启之后,我们浏览器访问47.113.107.189,可以看到是访问成功的。
    在这里插入图片描述
    在这里插入图片描述

    那现在如果我们随便访问一个不存在的页面,比如47.113.107.189/b,(通过这个方法我们可以看到Debug是否设为False生效了)
    在这里插入图片描述

    这里出现错误,原因是我们修改了django代码,改了django代码的话,是需要重新加载uwsgi的配置文件,uwsgi --reload /home/mysite_uwsgi/master.pid。加载了之后我们刷新页面,就可以看到显示的是404找不到页面了(这个页面我们可以自己做的更好看一点)
    在这里插入图片描述
    在这里插入图片描述

    至此,关闭Debug的相关内容已经做好了。

    2)静态文件

    接下来就是静态文件相关的内容了。

    (1)收集静态文件

    有一个是收集静态文件,当我们关闭了Debug的时候,它的静态文件就不再通过我们的django去获取了,我们需要通过web服务软件给它提供静态文件服务,这里分两个来讲,第一个是nginx的内容。

    首先文件收集,我们需要配置一个东西。修改base.py如下:
    在这里插入图片描述
    这个文件夹我们需要忽略掉,所以我们需要在.gitignore文件里面多加一行static_collected/
    在这里插入图片描述
    然后我们在本地上把代码更新上传上去
    在这里插入图片描述

    接着我们在服务器上把代码pull下来
    在这里插入图片描述

    pull完成之后,先启动虚拟环境source ../mysite_env/bin/activate,然后我们要在这里执行一条命令python manage.py collectstatic收集静态文件到一个目录里面
    在这里插入图片描述

    收集完之后,我们有两个地方需要改一下配置。
    现在我们用的是nginx,所以我们先改nginx的:
    输入vim /etc/nginx/sites-enabled/mysite.conf找到配置文件,把该文件里面的staticd的地方改为static_collected,重启nginx之前,我们可以看一下博客页面是什么样的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    因为它的静态文件不在static目录里面,而是在我们收集好的目录static_collected里面

    那现在我们重启nginx服务,输入service nginx restart,(因为我们改动的是nginx里面的配置,所以需要重启nginx服务),然后刷新页面,可以看到评论框的相关静态文件又加载进来了
    在这里插入图片描述
    在这里插入图片描述
    如果我们使用的是Apache的话,需要这么修改:
    输入vim /etc/apache2/sites-enabled/mysite.conf找到配置文件,把里面的static修改为static_collected
    在这里插入图片描述

    (2)favicon.ico

    另外还有一个东西,有时候页面会显示找不到favicon.ico(网站的图标,可以自己设计或者找一个)
    在这里插入图片描述
    我们把它放到根目录mysite里,然后从本地上传上去,git add .git commit -m '添加favicon.ico'git push,然后在服务器上pull下来git pull
    在这里插入图片描述
    在这里插入图片描述

    这个文件我们需要在web服务软件配置下,让它可以使用。
    首先我们改一下nginx的配置,vim /etc/nginx/sites-enabled/mysite.conf,在里面加一行设置

    location /favicon.ico {
    	alias /home/mysite/favicon.ico;
    }
    

    在这里插入图片描述
    然后重启一下nginx,输入service nginx restart

    在Apache中,是这样修改的:输入vim /etc/apache2/sites-enabled/mysite.conf,新加代码:

        Alias /favicon.ico/ /home/mysite/favicon.ico/
        <Directory /home/mysite>
            <Files favicon.ico>
                Require all granted
            </Files>
        </Directory>
    

    然后重启一下Apache就可以

    刷新页面,就能出来这个图标
    在这里插入图片描述

    另外3)设置上传文件目录的权限

    3)设置上传文件目录的权限

    我们输入ll,可以看到,media只有所有者才可以写入,其他都不可以写,那么这里可以使用设置权限的命令chmod 777 media/(777是开放全部权限)
    在这里插入图片描述

    展开全文
  • 入门的硬性需求是什么,应该买什么样的电脑,什么样的显卡比较适合,自己的笔记本可以使用吗等等问题。这些问题之前我也有很多疑惑,现在总结了下,为大家稍微讲解一下所需要的配置,以及推荐清单。正文其实配置可以...

    前言

    很多深度学习入门者或多或少对计算机的配置需求有一些疑惑。入门的硬性需求是什么,应该买什么样的电脑,什么样的显卡比较适合,自己的笔记本可以使用吗等等问题。这些问题之前我也有很多疑惑,现在总结了下,为大家稍微讲解一下所需要的配置,以及推荐清单。

    正文

    其实配置可以一句话概括:足够即可,你什么样的需求就用什么样的配置。

    下图为海盗船中塔机箱32g内存i7-7800x、512ssd+2T配置,预留四张显卡位。复制代码

    但是我们大多数人会这样想,肯定是配置越高越好,因为人的欲望是无止境的嘛,即使我们可能用不了那么多的显存我们也会想要买买买,所以….唯一限制我们的只有资金了。

    提到资金,首先要了解自己的定位,是学生,本科生研究生,还是工作人员。

    本科生的话,没有学校导师的资助,自己花钱搭配一个深度学习工作站还是比较吃力,可以考虑使用云服务器。如果是研究生或者工作人员的话,利用学校或者公司通过报销来解决。

    显卡

    做深度学习最终要的就是显卡,显卡的选择可谓老生常谈,Nvidia公司在深度学习这块几乎进行了统治。显卡分为专门的计算卡和游戏卡(也可以叫为服务器显卡和消费级显卡)。

    计算卡即英伟达专门对服务器级别提供的高性能支持并行多用户的显卡,比如Tesla V100Tesla P100Tesla P40Tesla M40等,这种显卡一般为大企业使用,比如阿里云、腾讯云和美团云的GPU云服务器就是使用这些显卡。这类显卡有个显著特点:贵。便宜的一张的价格10w多起步。这里我们不进行讨论。

    我们一般讨论的是游戏卡,也就是GeForce系列,例如NVIDIA TITAN VNVIDIA TITAN XGeForce GTX 1080 TiGeForce GTX 1070GeForce GTX 1060。这些显卡就是我们进行深度学习所使用的显卡,单张或多张。

    我这里给的建议是:1060 6g入门、1070 8g比赛、1080ti 11g研究。显卡的显存很重要,比如同样一张显卡1060 6g比1060 3g的优势就很明显,因为显存大了3g,可以跑更深权重更多的神经网络,显卡最好一次性买贵的,之所以给出选择还是钱的问题,另外不建议买泰坦系列,因为性能和1080ti差不多但是贵了很多,性价比不高,当然土豪可以忽视。

    ps:通过这个Nvidia官网查看你的显卡计算能力:developer.nvidia.com/cuda-gpus

    CPU

    cpu一般在这两个系列中选择,是至强系列还是酷睿系列,至强是以E3、E5、E7开头,而酷睿是以i3、i5、i7开头,至强和酷睿最大的区别就是平台不同,至强通常作为服务器芯片,单核频率不高,但处理多任务有优势。而酷睿常常搭载在个人电脑上,单核频率高,可睿频,追求高性能但在多任务处理稍有欠缺。这两款芯片其实也是有交集的,也就是说在挑选的时候没有严格的区别。

    有一点隐晦的指标要注意:

    cpu的PCIE通道不可太低,因为每一张显卡需要16个PCIE通道,如果cpu的PCIE通道小于16那么它和显卡的链接速度就会有影响,显卡的性能就不会完全发挥出来。如果多卡的话cpu的PCIE通道更要高。一般至强系列CPU的PCIe通道普遍比酷睿系列多一些。

    通过这个链接查询CPU相关信息:ark.intel.com/zh-cn#@Proc…

    按照需求挑选,如果你要搭建多人服务器,那么至强系列比较适合你。如果只是一两个人使用,那么酷睿就够了。

    但要注意,CPU的选取和主板选取有着密切关系,这点要提前弄清楚。

    内存

    内存按理说应该为显卡显存的2倍,当然还是是越大越好,因为内存在训练的时候,其任务是将所有数据在GPU和计算机之前腾来腾去。大内存对于提高训练速度有着很大的影响。内存选择和cpu也有着关系,通常服务器内存为ECC内存,ECC内存相比普通内存稳定性高具有纠错能力,通常说就是更适合长时间运行,但是缺点也比较明显,那就是频率普遍不高。

    我们根据CPU的选取来挑内存,至强系列的CPU可以使用ECC内存,且主板也要支持,如果经常会训练48小时以上的话,建议ECC内存,如果训练可以中断,时间不长,那么普通内存就够了,相同价位下速度更快。

    多条内存建议买套条,也就是同一时间同一机器生产的,就和双胞胎一样,有更好的默契,速度更快一些。

    其他

    电源越贵越高,通常瓦数和价钱相当(例如1000w的电源就应该在1000块以上),电源绝对不能省。

    机箱买合适的即可,空间要够,一定要自带足够的散热口,现在市面上大多数的机箱都兼容主流主板,挑选起来不是很困难。

    散热器建议买风冷,贵的风冷,水冷效果也好但总是会担心漏液问题。

    结语

    深度学习对配置的需求较高,但有人会反驳,我的笔记本也可以跑啊,当然是个电脑就能跑,树莓派也能跑,才几百块,但是速度什么的就差的十万八千里了。如果你真的有需求,有项目,没有好的配置是不行的。用笔记本跑是没问题的,但这仅限于跑一些示例,或者刚入门在学习阶段。

    笔记本有好显卡的也可以跑,但要注意散热。

    好了,就说这些,附一张中等配置的清单,显卡根据自个儿需要调整。

    关于没有服务器想要使用云服务器远程调试的,请看我的接下来的一篇文章。

    文章来源于OLDPAN博客,欢迎来访:Oldpan博客

    欢迎关注Oldpan博客公众号,持续酝酿深度学习质量文:


    转载于:https://juejin.im/post/5b612a445188251ac771da31

    展开全文
  • 所以无论装了什么版本的nodejs 只需要npm install n -g 就行 <h2>git <h3>windows 百度搜索:git 下载--exe安装 <h3>linux 自带 无需安装</p><p>该提问来源于开源项目:QUANTAXIS/QUANTAXIS</p></div>
  • AnsibleAnsible简介什么是AnsibleAnsible如何工作应用场景Asible的安装Ansible的使用以及命令集ansible其他的参数安装中问题的处理ansible命令使用场景Ansible配置清单定义主机和组定义组变量变量的检索位置用户...

    Ansible简介

    什么是Ansible

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
    ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
    (1)、连接插件connection plugins:负责和被监控端实现通信;
    (2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
    (3)、各种模块核心模块、command模块、自定义模块;
    (4)、借助于插件完成记录日志邮件等功能;
    (5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

    上段话引用自百度百科 https://baike.baidu.com/item/ansible/20194655?fr=aladdin
    在这里插入图片描述

    Ansible是如何工作

    默认开启5个并行,并且Ansible工作的时候是需要调用本机的pyhon。Windows只能作为客户端使用,服务端只能是linux操作系统。
    在这里插入图片描述

    应用场景

    在这里插入图片描述

    Asible的安装

    1、配置yum源:
    [epel]
    name=epel
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
    gpgcheck=0
    这里使用的是阿里的镜像源
    2、安装
    yum install ansible -y
    ansible只需要在提交任务的节点安装即可
    3、创建ansible的用户
    useradd ansibel
    echo westos |passdwd --stdin ansible
    主配置文件为:ansible.cfg
    4、配置无密码登录(root和ansible用户)
    生成密钥
    ssh-keygen

    设置主机之间的免密
    root用户
    ssh-copy-id server2
    ssh-copy-id server3

    ansible用户
    ssh-copy-id ansible@server2
    ssh-copy-id ansible@server3

    Ansible的使用以及命令集

    1、配置文件
    配置文件在/etc/ansible/ansible.cfg文件
    2、更改hosts文件,在hosts文件中添加主机信息:
    这里可以添加主机名称也可以添加ip,如果添加主机名称的话,需要添加域名解析

    示例:
    在这里插入图片描述

    文件的编写是很灵活的,又很多中写法。
    这里列举4种方法:
    <1>一个web组,组中有两个主机,分别的ansible1和ansible2
    [web]
    ansible1
    ansible2
    <2>一个web组,组中有很多主机,主机名只要是以ansible开头的即可
    [web]
    server*
    <3>一个web组,组中有100个主机,主机名是ansible1-ansible100
    [web]
    ansible[1:100]
    <4>两个组,一个web组,一个db组。web组中的主机为ansible1,db组中的主机为ansible2。
    [web]
    ansible1
    [db]
    ansible2

    3、ansible的使用
    ansible all -m ping
    在这里插入图片描述
    ansible all -m ping -u ansible
    在这里插入图片描述
    使用密钥进行测试
    ansible all -m ping -u customer -k
    在这里插入图片描述
    ansible all -a “touch /tmp/testfile”
    在这里插入图片描述
    ansible all -a “touch /mnt/testfile” -u anlsible在这里插入图片描述
    如果要在/mnt下创建文件,则需要使用root权限,这里使用-b的参数
    在这里插入图片描述
    在远端设置,给ansible用户授权:
    在这里插入图片描述
    ansible all -a “touch /mnt/testfile” -u ansible -b -K
    -k输入的是ssh的密码,-K是输入sudo的密码在这里插入图片描述
    如果不想输入密码,则可以在用户授权后面添加NOPASSWD的参数
    ansible all -a “touch /mnt/testfile” -u ansible -b
    在这里插入图片描述

    ansible其他的参数

    想使用更多的参数的时候可以使用–help来查看在这里插入图片描述

    安装中问题的处理

    出现如下问题

    Error: Package: python-paramiko-2.1.1-0.10.el7.noarch (epel)
               Requires: python-cryptography
    Error: Package: python-paramiko-2.1.1-0.10.el7.noarch (epel)
               Requires: python2-pyasn1
    Error: Package: ansible-2.9.3-1.el7.noarch (epel)
               Requires: python-jinja2
    Error: Package: ansible-2.9.3-1.el7.noarch (epel)
               Requires: python2-cryptography
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
     
    原因:环境中没有python-simplejson python-babel PyYAML python-six python-pyasn1 python-markupsafe 这些包
    

    解决过程如下:
    1、将yum源更换,之后安装需要的软件:
    yum install python-simplejson python-babel PyYAML python-six python-pyasn1 python-markupsafe -y
    缺什么安装什么即可
    2、安装完成之后再更换yum源安装ansible
    yum install ansible -y
    在这里插入图片描述

    ansible命令使用场景

    在这里插入图片描述

    Ansible配置清单

    文件的设置在这里插入图片描述
    资源清单文件是可以自己创建的。这样可以减轻hosts文件。

    在这里插入图片描述
    在这里插入图片描述

    定义主机和组

    在这里插入图片描述

    定义组变量

    公共变量:
    1)、一个组:
    2)、不同组:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    文件的设置在这里插入图片描述
    定义变量的时候需要注意变量名

    变量的检索位置

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    用户权限

    在这里插入图片描述

    gi提交使用

    配置文件的设置

    可以单独创建一个路径放配置文件。根据不同的需求放置不同的配置文件
    ansible使用的时候,是先读取当前目录下的ansible.cfg文件,如果当前目录下没有,则读取用户家目录下的ansible文件。如果还没有再读取/etc/ansible/ansible.cfg文件。
    在这里插入图片描述

    模块得拷贝

    查看文档内容:
    ansible-doc copy
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    如果是普通用户拷贝文件到root权限的目录下,则没有权限
    在这里插入图片描述

    赋予普通用户使用的权限

    在这里插入图片描述
    此时我们需要设置全局参数,设置ansible用户也有sudo的权限,此配置文件是在server1上设置在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    远程用户的连接

    1、远端是ansible用户:

    2、远程用户不是管理端相同的用户,这里指的是ansible用户。

    Ansible AD-Hoc命令集

    1、关闭所有不必要的服务器
    2、临时更新服务的配置文件
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    服务的安装

    ansible-doc yum命令
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    需要注意的是。安装的时候,如果参数的默认值为null,则一定组要添加一个值

    服务的设置以及ansible-doc的使用

    在这里插入图片描述
    1、服务的开启
    在这里插入图片描述
    2、开机自启的设置
    在这里插入图片描述
    3、防火墙的设置
    在这里插入图片描述
    在这里插入图片描述
    开启22端口,这里主要也是需要配置端口
    在这里插入图片描述
    在这里插入图片描述
    配置完成
    测试:
    在这里插入图片描述

    file模块

    在这里插入图片描述

    mysql_user模块

    在这里插入图片描述

    service和user模块

    在这里插入图片描述

    展开全文
  • k8s之资源清单配置

    2020-04-22 13:09:54
    1.什么是资源清单 在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单 2.资源清单的格式 apiVersion: group/apiversion # 如果没有给定group名称,那么默认为croe,...
  • 1.基本概念理解 什么叫资源?...yaml格式提供配置清单,apiserver 可自动将其转为JSON格式,而后再提交; 2.资源清单的格式 apiVersion: group/apiversion # 如果没有给定group名称,那么默认为croe,
  • 1.基本概念理解 什么叫资源? k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。 什么是资源清单?...yaml格式提供配置清单,apiserver 可自动将其转为JSON格式,而后再提交; 2.资源清单的格式...
  • 文章目录1.ansible简介1.1 什么是ansible1.2 ansible的优点 1.ansible简介 1.1 什么是ansible ansible一款开源自动化平台,一个配置管理工具,自动化运维工具。 ansible基于Python开发,集合了众多运维工具...
  • 加载清单,该清单会将您所有可视化的组件设置为一个图形对象。 这使得拥有多个级别或场景并在它们之间共享代码真的很容易。 它使您的各个组件与可视化如何加载和工作的逻辑脱钩,从而大大提高了实现代码的可重用性。...
  • 可用脚本 添加您自己的待办事项列表。 在组件中创建一个文件夹并创建自己的待办事项并将其链接到Appjs ... 如果您对构建工具和配置选择不满意,则可以随时eject 。 此命令将从项目中删除单个构建依赖项。 相
  • 各位好,我想考MCSE Server2012R2,看联科王进老师的视频说需要一个真机做实验。 配置i5/i7,32G内存,SSD256G硬盘,需要服务器呢,还是普通的组装机就好了。...组装机就行,麻烦给一个装机配置清单谢谢。
  • 注意:对于完整的NixOS配置布局, 一个更好的示例存储库,该存储库主要提供更多关于薄片的上下文+示例,并表明您可以使用与nix-build相同的薄片来生成EXACT系统,如果您知道的话该怎么办。 本自述文件首先尝试...
  • 无论你学生党,还是上班族,耳机无疑每个人出行的必备工具。...一款真无线蓝牙耳机应该有的配置,它全都有并且做到了更加优秀的层次。音质、声效、延迟、续航、舒适度,没有明显的短板存在。上市就受到
  • 概述监控的设备越来越多,有时候搞不清楚哪台服务器是什么配置,大多公司有自己的资产清单,要去专门的系统查询显得多少有点麻烦。为此,zabbix专门设置了设备资产管理功能。我们创建或者编辑主机的时候,可以看到...
  • YAML是什么

    2021-03-18 10:04:28
    YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多...
  • 什么是DevOps工程师? 角色与职责 DevOps工程师技能 沟通与合作 系统管理 使用DevOps工具的经验 配置管理 容器与容器编排 持续集成和持续部署 系统架构和配置 熟悉编码和脚本 团队协作技巧 DevOps团队:...
  • 在本篇文章开始前,我想想来回答一个问题:我为什么要写这一篇关于面试的文章? 原因有三:第一,我想为每一个为梦想时刻准备着的”有心人“尽一份自己的力量,提供一份高度精华的Java面试清单;第二,目前市面上的...
  • 上一周全部都在围绕以下这个问题走,找另外很多人,首先新建UI层排除vs软件没有什么问题的。 上周反复找了很多人,到最后解决了问题,但是解决的途径就是新建UI层,然后重新写代码,设置控件,没有找到问题的...
  • 一个基于mongodb,angularJS和nodeJS的简单购物清单 你需要什么 购物清单的 如何设定 克隆此项目 转到src文件夹并运行npm install (也许您还需要安装依赖项) 使用node server.js运行应用程序 在浏览器中打开...
  • 监控的设备越来越多,有时候搞不清楚哪台服务器是什么配置,大多公司有自己的资产清单,要去专门的系统查询显得多少有点麻烦。为此,zabbix专门设置了设备资产管理功能。 我们创建或编辑主机的时候,可以看到清单...
  • Ansible的配置与部署

    2021-04-11 16:01:59
    二、ansible的安装与配置三、ansible配置清单ansible命令示例:Inventory文件配置ansible与正则 一、什么是ansbile? Ansible近年越来越火的一款运维自动化工具,其主要功能帮助运维实现IT工作的自动化、降低...
  • 概述监控的设备越来越多,有时候搞不清楚哪台服务器是什么配置,大多公司有自己的资产清单,要去专门的系统查询显得多少有点麻烦。为此,zabbix专门设置了设备资产管理功能。我们创建或者编辑主机的时候,可以看到...
  • 什么是GURL? GURL将RSS feed解析为电子邮件的工具。 安装 安装库 npm install 或者,如果您更喜欢使用Yarn: yarn install 设置电子邮件客户端 使用--init运行以设置配置。 node gurl --init config.json...
  • 我的一些物品清单

    2020-03-04 21:23:32
    这篇文章我准备一直更新的常用清单页,将我自己用过的比较好的物品发在这里 数码产品 先说一下我的工作电脑,电脑我 win 系统 和 macOS 系统的都用过,两者各有千秋,macOS 系统的电脑本身比较贵,像程序员常用的 ...
  • Kubernetes的资源清单

    2021-01-20 21:52:51
    一、什么是资源 K8S中所有的内容都抽象为资源,资源实例化之后,叫做对象 二、集群资源分类 名称空间级别 集群级别 元数据型 2.1 名称空间级别 工作负载型资源(workload):Pod、ReplicaSet、Deployment、...
  • 什么我的APP已经申请并且配置了百度地图的应用和KEY值,但是导航调通之后没有声音呢?答: 因为百度的TTS语音跟百度地图分开配置的,需要在百度AI平台添加一下语音的应用(只需要包名就可以)百度官方AI平台地址...
  • 写过java程序的人,都知道了配置文件时java实现各种各样的框架的一大利器,manifest清单文件对android的作用自然不言而喻,然而他里面究竟定义了些什么,并且他如何加载到程序中的。 他里面定义了什么了,定义的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 551
精华内容 220
关键字:

配置清单是什么