• 题目


    linux 配置4 各种命令 记背 就好了

    要足够努力,才可能遇到更好的自己,更好的人,做到更好的事。

    xshell 是封装了ssh命令,mac本没有xshell
    tac
    ctrl + alt + F1-F7换成7个终端
    2 以根目录为开始 分为
    绝对路径
    相对路径

    3 mkdir -p /tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}

    4 ls -l /tmp/

    5 /根目录 , 目录分割符
    /tmp/
    ~ 当前登录的用户家目录 qq 登录 /home/qq /root 超级用户的家目录
    -上一次的工作目录

    6 使用vim命令

    vim 打开文件名   
    i 进入编辑模式
    写完代码 , esc退出编辑模式
    输入 冒号wq! 结束操作
    

    7 cat -n /etc/passwd 以及不要直接操作服务器 , 不支持上传下载,养成好习惯,maC本没有xshell xshell封装了 ssh,直接操作ssh,进行远程连接

    tac -n /etc/passwd : 反过来,从后往前打印
    yum install sl -y

    1 kill -9 3022
    2 pkill -9 yum
    sl 相反

    8 查看文本的命令
    head
    tail
    cat
    less
    tac

    9 ctrl + l clear 清屏
    如何echo 清空一个文件
    10 . echo '' > hehe.txt
    11 . cp -r /tmp/* /home
    12 . mv test.py my.py
    13 . rm -rf /tmp/*
    14 . find / -type f -name settings.py
    从哪找 类型是什么 内容名
    16 . grep -i -n 'root' /tmp/passwd # 如果还有大写的ROOT,忽略大小写
    cat /etc/passwd > /tmp/passwd
    20 . tail -f /var/log/py.log
    21 .
    sed
    awk
    grep

    linux 三剑客

    22 .sed -i 's/root/ROOT/g' /tmp/passwd g global全局 -i insert 插入文件中
    sed 命令 -i 将修改结果写入文件 s 是替换模式 /你想替换的内容/替换后的内容
    23 alias rm = 'echo 禁止你用'
    24 远程传输scp是“供应链合作关系”英文(Supply Chain Partnership)简称

    scp 你想要的内容 你想放到那
    scp /tmp/my.py 用户名@服务器2的ip:/opt/
    25 统计文件夹总大小
    s 是统计总大小 h是单位 du -sh
    27 chattr + a settings.py
    28 ntpdate -u ntp.aliyun.com
    30 0.0.0.0 绑定机器所有的网卡
    192.168.16.37 对外提供访问的东西

    192.168.16.37 网卡1 192.168.16.38 网卡2
    python3 manage.py runserver 0.0.0.0:8000都开了网卡
    127.0.0.1 本级回环地址 给与内部硬件信息,调试使用
    如何开
    linux 代码雨 编译安装 做页面 cmtitx

    编译步骤

    1 下载软件源代码
    2 解压缩源代码,进入源代码目录
    3 编译三部曲
    1 : ./configure --prefix=软件安装绝对路径
    2 : 开始编译,调用c语言的gcc编译器  make指令
    3 make install 才是真正生成软件文件夹
    

    2 理解pyhton 虚拟环境配置
    virtualenv工具
    virtualenwrapper工具 升级版

    3 配置好阿里云 yum源

    1 找到阿里云网址
    2 wget centos-base.repo源
    3 wget epel.repo源
    

    4 yum源工作目录

    /etc/yum.repos.d/
    在目录下,只有第一层,且名字是*.repo结尾的就会被识别为yum仓库
    

    2 rz 接收文件 sz 文件名 (发送文件)

    5 root 增删改查 普通用户 useradd userdel usermod

    root 随意切换用户名 su - 用户名

    普通用户 无权修改其他用户名

    普通用户之间切换,需要输入密码

    ifup 网卡名

    usermod 更改用户权限

    /etc/init.d/network start/stop/restart

    7 sudo su -# 切换root用户 输入自己的密码临时切换root 给个sudo权限了不起的
    su - 输入root密码

    8

    visudo 打开文件

    找到如下配置,添加你想使用sudo命令的用户信息

    找到 /root

    添加allow ALL

    qq ALL

    sudo 命令, 以预设的身份去执行命令,默认身份是root

    12 chmod 666 test.py

    14 linux 如何建立软连接
    ln -s 目标文件绝对路径 快捷方式的绝对路径
    ls -s /opt/python/bin/python3 /user/bin/python3
    15 PS1 控制命令提示符的变量 =‘’
    16 用什么命令管理系统服务 systemctl start nginx
    17 nslookup (name server look up) 解析dns的命令是什么
    18 tar -zcvf ALL_log.tar.gz /tmp/* #-zcvf + 压缩的文件 必须跟要压缩的名字
    mv ALL_log.tar.gz /home 压缩移动
    19 . 解压缩python源码包
    tar -zxvf Python-3.7.ob3.tgz tar --help
    ps -ef #显示所有进程
    ps -aux #显示所有进程 老师讲的没杠,忘记了
    -zcvf = -z -c -v -f

    -R = --block-number

    20 . 查看mysql端口状态

    netstat -tunlp | grep mysql
    ps -ef | grep nginx

    22 kill -9 id pkill -9 nginx killall nginx 名字

    26 /etc/resolv.conf 里面写入一个参数

    nameserver dns服务器地址(主)

    nameserver dns服务器地址2(备) 给dns添加服务

    28 /usr/bin/cp -r /var/log/* /tmp/ 绝对路径找/var/ 和/tmp/

    37 0 10,16 * * *

    38 cat /etc/os-release uname -a #显示linux的内核信息 # 如何查看发行

    39 /etc/profile ~/.bash_profile
    free -m 显示内存

    42 top 指令 输入1 展开cpu信息
    cat /proc/cpuinfo # cpu核数

    43 启动crm

    crm 配置

    运行的是day78天的nbcrm, 因为没有用到数据库(内置的,数据也考过来了),所以,不需要加载。。。这么简单,为什么不会呢? 这两天在干啥? 主要是没思路,但是没尝试啊,惨!

    先把zip文件的,改一下压缩格式,拉到xshell

    unzip 解压一下

    配置一下settings , ALLOWED_HOSTS = ['*']然后就好了

    在有manage.py文件加下 运行 python3 manage.py runserver 0.0.0.0:8001

    出错了:

    访问 http://192.168.230.129:8001 因为要访问的是login ,就好了

    不知道需不需要网 ,没有网登不上

    激活虚拟环境 统一管理

    2 安装另一个
    为什么没有找到复选字段的模块呢?

    需要安装 pip3 install -i https://pypi.douban.com/simple django-multiselectfield (一般来说直接复制no module named 'xx' 的名字就可以装, 但是这个不一样)

    pip3 install -i https://pypi.douban.com/simple django-multiselectfield 
    

    3 最好新建一个虚拟环境去安装

    确认虚拟环境可用 , mk + tab 键 mkvirtualenv

    mkvirtualenv nbcrm 新建虚拟环境

    python3 manage.py r 不是启动项目的任务,而是对象的单机调试的命令

    django 为什么不能做web服务器 本质是一个 socket服务端,进行socket通信 wsgi不是自带的 而是通过wsgirf增的,单进程的 以后会用 uwsgi 和uWSGI 多进程的

    下载了 django 觉得好了, 却连不上,不知道为什么,做了一些无用的操作好了,不知哪里的问题,感觉是网址输错了(url),好像也不是

    之后登陆缺少pillow 显示的是缺少PIL

    pip3 install -i https://pypi.douban.com/simple pillow 错误 : install - i 顺序我给弄反了 后面的网址是对的,这个是对的

    应该是电脑卡或者什么的,需多长时间才显示出来网页,刚开始显示连接不上

    nginx![整个框架](E:Downloadqq_download eacher_huatu_downloads20pyLinuxday82 linux4整个框架.png)

    ngnix 访问 , 互相访问 ,老师说是用的桥接的,而我是16网段,一样,所以可以访问,mack本也可以访问,因为也是16网段的

    web服务器学习 web server

    django flask bottle (基于wsgi运行的框架)

    坑: no app found

    解决: uwsgi 没找大 django项目第二层的wsgi.py文件中application这个变量 nbcrm/nbcrm ![应用程序内网中 防火墙保护防止蹦 nginx没事 ](E:Downloadqq_download eacher_huatu_downloads20pyLinuxday82 linux4应用程序内网中 防火墙保护防止蹦 nginx没事 .png)

    为什么用ngnix uwsgi(c语言开发,多进程多线程) : 让并发行更高

    内网跑,躲在防火墙后面, 应用

    nginx 暴露在公网 并发性强,安全性高 ,动静处理(如果都给Django会很卡,同事处理)

    cul -i taobao.com 响应头返回

    淘宝 : 的并发都是用的ngnix 的二次开发 tengnix Server: Tengine

    Server: nginx/1.4.2 这样就不好了, 版本的漏洞容易被黑客黑

    (windous 的是 linux阿帕奇,吃内存,配置难,老大哥)

    nginx 为什么这么快 :

    3万并发 10个Nginx  才消耗200m
    因为走得是 异步模型---epoll
    

    yum install nginx 配置阿里云yum源(受限:版本可能会很低)

    注意 是 yum 安装 和编译安装 同时存在

    卸载

    yum remove - f

    编译ngnix 安装

    关于 / 和 空的

    cd opt 因为 opt没有配置在环境里 ,所以 opt 不能使用和./不一样
    cd /opt/

    1 解决软件依赖 ssl 解决https的 yum

    yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
    

    2 下载 源代码包

    wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
    

    用tengine

    加入path

    也可以 软连接 ln -s /opt/tngx231/sbin/ngnix /usr/bin

    软连接 path 因为/usr/bin 在前面 ,所以限制性 如果加入path 或者 bin都有

    /usr/sbin/nginx

    linux 一切皆文件

    1 安装依赖

    yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

    ​ 如果做过了,显示Nothing to do

    2.下载nginx的源代码包

    ![img](file:///C:UsersADMINI1AppDataLocalTemp[5UQ[BL(6BS2JV6W}N6[%S.png)

    wget http://tengine.taobao.org/download/tengine-2.3.1.tar.gz

    3.解压缩tnginx包
    tar -zxvf tengine-2.3.1.tar.gz

    4.进入源码目录,开始编译三部曲

    ./configure --prefix=/opt/tngx231/
    make && make install

    5.可以使用了

    ./nginx #启动   		一次不能使用 ,重装了一次可能是环境变量						粗了或者是conf.里	的文件改了  
    ./nginx -s stop #关闭
    ./nginx -s reload #重新加载   
    
    

    发现缺少sqllite这个一个软件依赖包,就得直接删除编译好的软件,重新编译即可

    6.进入安装好的tngx321目录,查看有哪些东西
    conf 存放nginx的配置文件

    html 存放前端文件的
    logs 存放nginx的日志文件
    sbin 存放了nginx的可执行命令

    7.配置path变量,可以快捷使用nginx命令

    因为 which ngnix

    /usr/bin/which: no ngnix in (/usr/sbin/nginx:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin)   没在
    
    

    /opt/tngx231/sbin (里面放的ngnix) 不用具体到,已经加载下面的

    或者 ln -s /opt/tngx231/sbin/nginx /usr/bin/ 这样

    /usr/sbin/nginx:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

    usr/bin(二进制文件) PATH 理由 , 所以可以编辑进去 然后软连接到了/usr/sbin/nginx下 一样

    8.查看nginx的首页文件 index.html

    /opt/tngx231/sbin 
    
     #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    #error_log  "pipe:rollback logs/error_log interval=1d baknum=7 maxsize=2G";
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
        #access_log  "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G"  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
            #access_log  "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G"  main;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ .php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ .php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /.ht {
            #    deny  all;
            #}
        }
    
    
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
    
        #    location / {
        #        root   html;
    
    #user  nobody;
    worker_processes  1;
    /opt/tngx231/sbin
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    #error_log  "pipe:rollback logs/error_log interval=1d baknum=7 maxsize=2G";
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
    

    nginx 的功能

    1 做一个站点把(可以在这个站里放一些资料,把MP4拉进来就可以使用了,改个名,要是有域名的话就好了,但是没域名,只能同一局域网使用 桥接的可以)
    在html 里,写一个index.html网站
    在html 里,写一个jpg文件 wget

    wget http://b-ssl.duitang.com/uploads/item/201507/05/20150705145227_SvwEt.jpeg    直接的连接不对,还图片格式小,解压缩的60%,变的很小了
    mv 20150705145227_SvwEt.jpeg nuanyang.jpg    
    
    

    进程数: 进程数设置 以cpu核数为准 worker_process 4 ;

    root      38287      1  0 20:28 ?        00:00:00 nginx: master process ./nginx
    nobody    38288  38287  0 20:28 ?        00:00:00 nginx: worker process
    
    

    重启了还是一个子进程,宝哥说,你reload了吗?果然!

    nginx.conf 是c语言写成的,花括号代表一个

    1 配置参数讲解

    events 事件驱动连接
    http  主代码核心配置,web配置在这
    log_format  #log格式  remote_addr: 进入到访问的ip user 请求get/post  status 状态码:sent发送多少数据  refer从哪里过来的
    user_agent 自适应 电脑还是手机  http_x_forward_for 被人封掉了 统一个路由ip 公网  : 怎么做,用别人的ip,可以把真实的给找到,但是可以拨号,一层层 
    
    404 不会退出网站 ,到一些相关信息,错误信息优化,淘宝的
    
    server nginx的虚拟主机参数,网站的功能性参数定义 
    listen 80  下一个填域名的
    
    
    

    2 访问日志功能

    找到nginx.conf中的http 代码块

    找到 access_log los/access.log main;

    杜绝访问 deny 192.168.16.0/24 192.168.16.0 网段都不能访问 24子网掩码

    指定网页的功能 :85 / 就走location配置 root网页根目录 root /opt/html;root参数是定义网页根目录的,可以修改 index index.html 定义网页首页名字 得写一个index.html文件,因为变化了 参数

    当用户请求 是 :85/pic/nuanyang.jpg就走下面的路径 alias 别名去下个路径找 alias /opt/pic/;

    error_page 404 错误 页面 error_page 错误状态码

    3 错误日志功能

    error_log logs/error.log

    4 404页面

    当请求错误码是404时,就返回一个404.html给用户查看,并且这个文件在网页根目录下

    error_page 404 /404.html; # 不是根路径,是相对路径不知道为什么这么写 访问一个奇怪的网站,就返回一个404网址

    5 虚拟主机功能, 一个nginx下运行多个网址

    1 个server 标签就是一个网站 一个服务器多个虚拟站点,分配空间

    找到 conf文件夹,conf

    通过写多个server 实现

    2直接输入 nginx 是启动

    unknown directive "        #开启nginx状态功能" in /opt/tngx231//conf/nginx.conf:62
    
    

    nginx -s stop 停止
    nginx -s reload 平滑加载,不重启nginx,重新读取配置文件,生效

    进程不重启 重启(先kill进程,然后重新开始)的话,数据(提交就)就丢了![两个server走第一个](E:Downloadqq_download eacher_huatu_downloads20pyLinuxday82 linux4两个server走第一个.png)

    config 参数

    最好cp一下 192.168.16.142 --> 先走第一个server 再走第二个

    gzip on 开启网站压缩功能 50m压缩到几百兆 ,在进行css js jp等等资源传输的时候,进行压缩

    nginx 的虚拟主机参数,网站的功能性参数定义
    server {listen:80 (默认)server_name: ..}
    nginx -s load

    配置参数讲解 : 如果每个参数都讲解,做到运维的水平,每一个意义都写下来,运维---运维,就是运维配置 功能性参数 改 ,各种记呀,背呀

    访问日志功能,参数如下

    找到nginx.conf 中的

    loss access.log

    tail -f access.log 实时监控的命令

    location / {deny 192.168.。。} 封ip 在访问就是forbidden

    deny 192.168.16.0/24; 把,16网段的都给封掉了

    Nginx的指定网页根目录的功能,修改虚拟主机的家目录

    /#网站的路径匹配,如同urls匹配,对用户的访问url进行路径分配

    location /pic{

    参数html root 参数定义网页根目录 斜杠相对路径

    root /opt/html;

    访问的网址的html

    }
    当请求url张这样时,192.168.16.142: 就走如下location配置

    当用户请求url是.jpg时

    location /pic{}

    location /media {alias /opt/media;}

    可以把网站做的特别漂亮 : 404页面

    配置如下 域名在windows里找

    etc/hosts

    改完nginx.conf 的配置,需要重启nginx-sreload

    分别准备hanju和lol的数据文件夹

    c:windwowssystem32drivers ..

    内容如下 192.168.1。。。 s20/ 或者同一个域名 不同的端口 80 81

    linux 的压测命令 10万个请求 (类似)

    人心皆散乱,一念便纯真
    1 安装 ab命令

    yum -y install httpd-tools

    2 使用ab压测命令

    ab -kc 同时访问 -n 同时多少个请求 k 启用keepalive 功能 一个http会话执行多个请求

    logs/access.log 访问记录

    可以做成网站· y流量图

    反向解析 虚拟架构

    5 . nginx 的状态模块功能,检测请求连接数

    找到nginx.conf 然后在找到一个虚拟主机,server标签,添加如下配置即可 location /status{ stub_status on;}

    面试 :

    不只是技术 , 和人打交道 ,心理战。。。

    公司试用期,培训一个人,是很大代价的

    面试官过了,hr跪了 。。。 搬到公司附近,给人家一个定心丸 为什么来北京: 各种坑

    面试官 给工资 范围 hr压工资 作为这个月的提成绩效

    动画演示10个有趣但毫无用处的Linux命令

    https://blog.csdn.net/u014028063/article/details/81978804

     
    wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
    tar -zxvf asciiquarium.tar.gz
    cd asciiquarium_1.1/
    cp asciiquarium /usr/local/bin
    chmod 0755 /usr/local/bin/asciiquarium
    
    

    周六 学cms

    分两个

    1 运维开发 --代码自动发布平台

    ansible   -3
    django    -0	
    linux 	  -3	最好是学的不错的				
    git 	  -1	要把于超老师榨干了
    logging   ---分析的	爬虫的,可以用  
    

    2 人工智能 - 智能玩具(挑战性的)

    flaskweb	 	
    mongodb			
    AI 应用			
    部分NLP机器学习		
    移动端应用app开发		
    websocket  IM即时通讯 (自己说的话发过去)			
    
    server {
    				listen       80;
    				server_name  www.s20hanju.tv;
    				location / {
    					root   /opt/s20/hanju;
    					index  index.html;
    				}
    			}
    			server {
    				listen  81;
    				server_name www.s20lol.tv;
    				location / {
    						root /opt/s20/lol;
    						index index.html;
    				}
    			}
    
  • 相关阅读:
    水晶苍蝇拍:从“航空母舰”看企业竞争优势分析 (2010-05-11 11:48:38)
    水晶苍蝇拍:为何设定了安全边际后还吃大跌?
    水晶苍蝇拍:“低风险,高不确定性”的启示 (2010-04-24 22:02:13)
    水晶苍蝇拍:我这样看投资的安全性 (2009-08-27 20:08:53)
    水晶苍蝇拍:不同企业的估值差告诉我们什么? (2010-04-21 20:56:19)
    水晶苍蝇拍:估值,像雾像雨又像风 (2010-03-15 10:44:16)
    水晶苍蝇拍:长持的简单逻辑 (2009-05-25 18:08:43)
    Android中RelativeLayout各个属性的含义
    有道词典 Andriod 版本数据格式分析
    电驴提示“该内容尚未提供权利证明,无法提供下载”之解决办法详解
  • 原文地址:https://www.cnblogs.com/Doner/p/11112305.html
Copyright © 2020-2023  润新知