远程Linux计算机
需要安装gcc/gcc-c++、gdb和gdb-gdbserver
在“gdbserver”模式中,GDB 在本地运行,连接到在远程系统上运行的 gdbserver。 请注意,这是 Linux 控制台窗口唯一支持的模式。
promise代表异步操作的结果,有三种状态:
promise 变成fulfilled/rejected状态,状态就不会再改变
promise.done 等待异步处理是成功还是失败
promise.then可以对结果进行处理,返回新的promise
用docker-compose 安装zabbix, 一起安装的zabbix-agent用不了提示下面错误
Received empty response from Zabbix Agent at [107.172.105.140]. Assuming that agent dropped connection because of access permission
用docker logs zabbix_zabbix-agent_1看日志,发现拒绝信息20322:20171117:051807.440 failed to accept an incoming connection: connection from "172.19.0.1" rejected, allowed hosts: "127.0.0.1"
需要在docker 数据卷挂载地方zbx_env/etc/zabbix/zabbix_agentd.d/ 创建zabbix_agentd.conf,把拒绝ip加入文件就可以了
Server=172.19.0.1
出现错误 No 'Access-Control-Allow-Origin' header is present on the requested resource.
只可以在后台项目接口响应请求头中,增加Access-Control-Allow-Origin的header值为*,允许所有跨域请求。例如:spring项目中,拦截器中统一增加这个header
出现错误 net::ERR_CONNECTION_REFUSED
不会走nginx代理,但服务器用localhost可以访问后台接口,在前端项目中用localhost不行。不知道原因,没有找到解决方法
通过nginx代理转发到后台接口,这样不会有跨域问题(推荐使用这个方式)
#angular-cli
docker run -it –rm -w /root/blog -v /root/blog/blog_front/blog-front:/root/blog alexsuch/angular-cli npm install
docker run -it –rm -w /root/blog -v /root/blog/blog_front/blog-front:/root/blog alexsuch/angular-cli ng build –prod –aot false
#nginx
docker run –name nginx -v /root/blog/conf/nginx:/etc/nginx/conf.d/ -p 80:80 -d nginx “-g” “daemon off;”
docker run –name nginx –link tomcat:tomcat -v /root/blog/conf/nginx:/etc/nginx/conf.d/ -v /root/blog/blog_front/blog-front/dist:/var/www/html:ro -v /root/blog/log/nginx:/var/log/nginx -p 80:80 -d nginx
#maven
docker run –rm -v /root/blog/blog_server/blog_server:/usr/local/src/blog_server -v /root/blog/m2:/root/.m2 -w /usr/local/src/blog_server maven:3.5.2-ibmjava-8 mvn clean install
docker run –rm -v /root/blog/blog_server/blog_server:/usr/local/src/blog_server -v /root/blog/m2:”$USER_HOME_DIR”/.m2 -w /usr/local/src/blog_server maven:3.5.2-ibmjava-8 mvn clean install
#mysql
docker run –name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -v /root/blog/data/mysql:/var/lib/mysql mysql:5.7.20 –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci
docker run -it –link mysql:mysql –rm mysql sh -c ‘exec mysql -h”$MYSQL_PORT_3306_TCP_ADDR” -P”$MYSQL_PORT_3306_TCP_PORT” -uroot -p”$MYSQL_ENV_MYSQL_ROOT_PASSWORD”‘
docker run -it –rm mysql mysql –default-character-set=utf8mb4 -h172.17.0.3 -uroot -p123456
docker run -it –rm –link mysql:mysql mysql mysql –default-character-set=utf8mb4 -hmysql -uroot -p123456
#tomact
docker run –name tomcat –link redis:redis –link mysql:mysql -v /root/blog/log/tomact:/usr/local/tomcat/logs -v /root/blog/data/tomcat:/usr/local/tomcat/webapps -v /root/blog/log/blog:/root/blog/logs -v /root/blog/data/blog:/root/blog/article -p 8080:8080 -d tomcat:8.5.23-jre8-alpine
#redis
docker run –name redis -d -v /root/blog/data/redis:/data -v /root/blog/conf/redis/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server –appendonly yes
docker run –name redis -d -p 6379:6379 -v /root/blog/data/redis:/data -v /root/blog/conf/redis/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf –appendonly yes
docker run -it –link redis:redis –rm redis redis-cli -h redis -p 6379 -a devin123456.
#cp
cp blog_server/blog_server/blog-webs/web-client/target/blog.war data/tomcat
#pyspider
docker run –name pyspider_mysql -d -v /root/blog/data/pyspider_mysql:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:latest
docker run –name rabbitmq -d rabbitmq:latest
docker run –name phantomjs -d binux/pyspider:latest phantomjs
docker run –name result_worker -m 128m -d
-v /root/blog/data/pyspider/worker:/opt/pyspider/data –link pyspider_mysql:pyspider_mysql –link rabbitmq:rabbitmq binux/pyspider:latest result_worker
docker run –name processor -m 256m -d –link mysql:mysql –link rabbitmq:rabbitmq binux/pyspider:latest processor
docker run –name fetcher -m 256m -d –link phantomjs:phantomjs –link rabbitmq:rabbitmq binux/pyspider:latest fetcher –no-xmlrpc
docker run –name scheduler -d
-v /root/blog/data/pyspider/scheduler:/opt/pyspider/data –link pyspider_mysql:pyspider_mysql –link rabbitmq:rabbitmq binux/pyspider:latest scheduler
docker run –name webui -m 256m -d -p 5000:5000
-v /root/blog/data/pyspider/webui:/opt/pyspider/data –link pyspider_mysql:pyspider_mysql –link rabbitmq:rabbitmq –link scheduler:scheduler –link phantomjs:phantomjs binux/pyspider:latest webui
Kafka依赖ZooKeeper,Kafka有脚本可以安装并启动一个全新的单节点ZooKeeper实例
bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka服务器
bin/kafka-server-start.sh config/server.properties
查看所有Topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
为每个broker准备配置文件config/server.properties, 修改下面信息
broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1
查看broker情况
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test_topic
时态 | 一般语态 | 被动语态 |
---|---|---|
动原 | write | be written |
一般现在时 | write/writes | is/am/are written |
一般过去时 | wrote | was/were written |
一般将来时 | will write | will be written |
一般将来时 | is/am/are going to write | is/am/are going to be written |
情态动词 | can/may/must write | can/may/must be written |
现在完成时 | has/have written | has/have been written |
现在进行时 | is/am/are writing | is/am/are being written |
过去进行时 | was/were writing | was/were being written |
否定句 -> English is not spoken every day.
疑问句 -> Is English spoken every day?
特殊疑问 -> What is spoken every day?
表示递归,例如:
cp -R 递归复制
chmod -R 递归修改权限
以M,K显示大小
ls -lh 查看当前目录下文件大小
df -m 查看磁盘空间
系统版本
lsb_release -a
cat /etc/issue
getconf LONG_BIT 查看系统位数
uname -a
防火墙
ufw status
ufw disable
ufw enable
Ctrl+Alt+F1-F6 命令行模式
Ctrl+Alt+F7 回到桌面
Ctrl+Alt+T 打开终端
/etc/group文件中, 查看用户分组信息.
安装方法:
sudo apt-get install p7zip
解压文件:
7z x manager.7z -r -o /home/xx
x 代表解压缩文件,并且是按原始目录解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)manager.7z 是压缩文件,这里大家要换成自己的。如果不在当前目录下要带上完整的目录
-r 表示递归所有的子文件夹
-o 是指定解压到的目录,这里大家要注意-o后是没有空格的直接接目录
压缩文件
7z a -t7z -r manager.7z /home/manager/*
a 代表添加文件/文件夹到压缩包
-t 是指定压缩类型 一般我们定为7z
-r 表示递归所有的子文件夹,manager.7z 是压缩好后的压缩包名,/home/manager/* 是要压缩的目录,*是表示该目录下所有的文件。
zip文件
zip -r path 压缩
unzip xxx.zip -d path 解压
tar文件
tar -cvf xxx.tar /xxx 打包不压缩
tar -zcvf xxx.tar.gz /xxx 打包gzip压缩
tar -jcvf xxx.tar.bz2 /xxx 打包bzip2压缩
7z文件
看7z命令
rar文件
sudo apt-get install rar 安装
rar x xxx.rar 解压
rar a xxx.rar xxx/ 压缩
-R, -r, --recursive 递归复制
-p 连同档案的属性一起复制过去,而非使用预设属性
bin文件
chmod +x xxx.bin
./xxx.bin -d <install path>
deb文件
dpkg -i
type 命令来查看命令的类型,路径
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
语法:# curl [option] [url]
常见参数:
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
第一行
系统当前时刻、系统启动到现在的运作时间、终端的数目、当前系统负载的平均值,1分钟前、5分钟前、15分钟前进程的平均数
第二行
进程总数、运行中的进程数、等待状态中的进程数、被停止的系统进程数、被复原的进程数
date
-R 以RFC 2822 format查看日期和时间,可以看到时区
wc
wc -l 统计行数
wc -c 统计字节数
wc -m 统计字符数
wc -w 统计词数
file
查看文件类型