要足够努力,才可能遇到更好的本身,更好的人,作到更好的事。php
xshell 是封装了ssh命令,mac本没有xshell
tac
ctrl + alt + F1-F7换成7个终端
2 以根目录为开始 分为
绝对路径
相对路径css
3 mkdir -p /tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}html
4 ls -l /tmp/前端
5 /根目录 , 目录分割符
/tmp/
~ 当前登陆的用户家目录 qq 登陆 /home/qq /root 超级用户的家目录
-上一次的工做目录python
6 使用vim命令mysql
vim 打开文件名 i 进入编辑模式 写完代码 , esc退出编辑模式 输入 冒号wq! 结束操做
7 cat -n /etc/passwd 以及不要直接操做服务器 , 不支持上传下载,养成好习惯,maC本没有xshell xshell封装了 ssh,直接操做ssh,进行远程链接linux
tac -n /etc/passwd : 反过来,从后往前打印
yum install sl -ynginx
1 kill -9 3022
2 pkill -9 yum
sl 相反git
8 查看文本的命令
head
tail
cat
less
tacweb
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
运行的是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 顺序我给弄反了 后面的网址是对的,这个是对的
应该是电脑卡或者什么的,需多长时间才显示出来网页,刚开始显示链接不上
ngnix 访问 , 互相访问 ,老师说是用的桥接的,而我是16网段,同样,因此能够访问,mack本也能够访问,由于也是16网段的
web服务器学习 web server
django flask bottle (基于wsgi运行的框架)
坑: no app found
解决: uwsgi 没找大 django项目第二层的wsgi.py文件中application这个变量 nbcrm/nbcrm
为何用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:\Users\ADMINI~1\AppData\Local\Temp[5UQ[BL(6~BS2JV6W}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进程,而后从新开始)的话,数据(提交就)就丢了
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:\windwows\system32\drivers ..
内容以下 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压工资 做为这个月的提成绩效
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; } }