Open Valuebai opened 5 years ago
Centos 修改当前路径显示为全路径
修改/etc/bashrc
[ "$PS1" = "\s-\v\\$ " ] && PS1="[\u@\h \W]\$ "
修改为(W大写换成小写)
[ "$PS1" = "\s-\v\\$ " ] && PS1="[\u@\h \w]\$ "
查看CentOS版本命令:rpm -q centos-release
Centos7 升级安装Python2.7到3.6 : https://www.jianshu.com/p/1cc8f77679c8
CentOS 7 修改pip源: https://blog.csdn.net/jiankunking/article/details/86627207
https://www.runoob.com/docker/centos-docker-install.html
https://www.cnblogs.com/djlsunshine/p/11375323.html
https://www.runoob.com/docker/docker-compose.html【x】不要用里面的下面地址,速度会特别慢!!!
【√】用这个https://cloud.tencent.com/developer/article/1339375 里面的
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
然后输入docker-compose --version检查是否安装成功
AAA 创建python项目并上传到linux上 参考:
Dockerfile使用的python3.7作为基础镜像 FROM python:3.7,但是执行
RUN pip install --no-cache-dir -r requirements.txt
是默认走了这个源,https://files.pythonhosted.org/packages,编译用时太久。
无赖修改成国内源来加快编译速度: RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements.txt
**BBB Dockerfile的内容&构建镜像**
FROM python:3.6
ADD ./py /code
WORKDIR /code
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements.txt
EXPOSE 5000
CMD ["python", "app.py"]
根据Dockerfile制作镜像的命令:**docker build -t img_name:tag_name .**
构建镜像,构建参数说明参考:http://www.runoob.com/docker/docker-build-command.html
**CCC 【例子】运行镜像,生成并启动容器**
执行命令:docker run -it -p 5000:5000 --name container_name IMAGE_ID
- 这里碰到个坑,找不到制作的镜像,报Unable to find image 'py_demo1:latest' locally
- 使用命令:docker run -it -p 5000:5000 --name container_name py_demo1(制作的docker镜像)
- 解决方法: 最后的镜像填IMAGE_ID 就可以了docker run -it -p 5000:5000 --name con_py_demo1 e542a29fd603
-it:表示交互式终端的容器,非启动后立刻结束的容器
-p 5000:5000:表示将docker的5000端口,映射到Linux虚拟机的5000端口
也就是说,访问Linux虚拟机的5000端口,就是在访问docker容器的5000端口
--name container_name:给容器取个名字,嫌麻烦可以省去
img_name:容器是用哪个镜像启动的(一个容器,必须依赖一个镜像启动)
- 直接输入exit 会退出且关闭容器,工程就stop了,再访问就访问不了了
- Ctrl + C,会报错KeyboardInterrupt,工程就也stop了
- 解决方法:
- 使用命令:docker start 容器ID,去再启动容器后,就可以继续访问工程
- 使用命令:docker exec -it 容器ID /bin/bash
- 或者 docker attach 容器ID,重新进入容器后,可查看程序打印的日志
- 但是,如果使用Ctrl + P + Q退出容器,就不会中断工程,等于退出容器后,还可访问容器的工程,再进入,也是使用命令:docker attach 容器ID
ctrl+d 退出容器且关闭, docker ps 查看无
ctrl+p+q 退出容器但不关闭
**CCC 运行镜像**
--name 服务名
-d 后台运行
-p 暴露端口:nginx 端口
docker-nginx-test 镜像名/IMAGE ID
docker run --name dockertest -d -p 4455:80 docker-nginx-test
**DDD Linux-CentOS需要开启5000端口**
firewall-cmd --zone=public --add-port=5000/tcp --permanent #永久开启5000端口
firewall-cmd --reload #重启firewall 每次新添加端口都要
- 遇到的问题:5000端口已经占用
- 运行的命令:docker run -it -p 5000:5000 --name con_py_demo1 e542a29fd603
- 解决:杀掉linux-centos运行的5000端口内容
kill -9 $(netstat -nlp | grep :5000 | awk '{print $7}' | awk -F"/" '{ print $1 }')
### **docker容器镜像删除命令**
1.查看当前运行的所有容器
docker ps -a
2.停止所有容器(container),这样才能够删除其中的images:
docker stop $(docker ps -a -q)
3.如果想要删除所有容器(container)的话再加一个指令:
docker rm $(docker ps -a -q)
4.查看当前有那些镜像(images)
docker images
5.删除镜像(images),通过镜像(images)的id来指定删除谁
docker rmi
CentOS7开启端口:
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
启动服务:systemctl start firewalld.service
关闭服务:systemctl stop firewalld.service
重启服务:systemctl restart firewalld.service
服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
删除/关闭端口 firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
——用端口扫描发现5000端口还是关闭状态
解决,原因是python代码没有加下面的host='0.0.0.0', port=5000
if __name__ == '__main__':
app.run(**debug=True, host='0.0.0.0', port=5000**)
Centos7 防火墙相关命令 :https://www.cnblogs.com/love-snow/articles/9149334.html 端口扫描工具:http://old.tool.chinaz.com/port/
CentOS上传/下载文件,需安装:yum -y install lrzsz rz file_name:上传文件; sz file_name: 下载文件;
删除文件:rm file_name 删除文件夹命令 : rm -rf file_name
【查看端口并杀死端口】 输入netstat -ntulp | grep 5000(端口号)查看端口(需要安装net-tools工具) 再用sudo fuser -k -n tcp(协议类型) 5000(端口号)杀掉端口即可 -> 参考:https://blog.csdn.net/weixin_43708900/article/details/92561782
# shell杀死指定端口的进程,写到部署脚本里面
kill -9 $(netstat -nlp | grep :8188 | awk '{print $7}' | awk -F"/" '{ print $1 }')
# 另一个启动方式nohup python3 -u run.py > nohup.log 2>&1 &
# 后台运行
nohup gunicorn -w 4 -b 0.0.0.0:8188 run:app > gunicorn.log 2>&1 &
另一个: 根据搜索进程名杀死进程 ps -ef | grep 'bert-serving-start' | grep -v grep | awk '{print $2}' | xargs kill -s SIGINT
git pull/push项目的时候总是提示要输入用户名密码的解决方案
git config --global credential.helper store
Linux-CentOS7-安装nginx:https://blog.csdn.net/luhuibo318/article/details/88754448
Linux-CentOS7-安装java:https://blog.csdn.net/luhuibo318/article/details/89443221 Linux-CentOS7-安装禅道: https://blog.csdn.net/luhuibo318/article/details/84244061 Linux-CentOS7-安装mysql Linux-CentOS7-安装tomcat Linux-CentOS7-安装confluence Linux-CentOS7-安装redis Linux-CentOS7-安装mantis
Linux-CentOS7.4 安装mongodb: https://www.jianshu.com/p/994bc7b19b26
centos7 下设置 mongodb 开机启动:
[Unit]
Description=mongodb After=network.target
[Service] Type=forking ExecStart=/usr/mongodb/bin/mongod --config /usr/mongodb/mongodb.conf PrivateTmp=true
[Install] WantedBy=multi-user.target
4. chmod 777 mongodb.service
5. 开机命令
启动: systemctl start mongodb.service 关闭: systemctl stop mongodb.service 注册到开机启动: systemctl enable mongodb.service
如有修改,需用这个命令重新加载systemctl daemon-reload
6. 重启机器验证: reboot
**【mongodb添加账号和密码】** : https://www.cnblogs.com/aGirlprogrammer/p/10972280.html
**【mongodb常用数据查询筛选命令行操作】** : https://blog.csdn.net/liqi_q/article/details/79086238
**【windows下载robo 3T 1.3版本连接远程的mongodb】**
A 简介:就像再windows上有计划任务一样,centos7 自然也有计划任务,而且设置更为灵活,好用。再centos7 上可以利用crontab 来执行计划任务, 依赖与 crond 的系统服务,这个服务是系统自带的,可以直接查看状态,启动,停止。
systemctl status crond (查看状态)
systemctl enable crond (设为开机启动)
systemctl start crond (启动crond服务)
B 列出用户的定时任务列表 crontab -l
C 编辑crontab 的配置文件,设置定时任务。
# 编辑用户的定时任务,指定的执行的用户,默认为当前执行命令的用户
crontab -u {用户名} -e
# 一般用这个:crontab -e
例如添加如下的定时命令:
1# crontab注意:绝对路径;环境变量;
0 */5 * * * python -u /root/wechannel/crawler/sougou_wechat/sougou.py >> /root/wechannel/crawler/sougou_wechat/log 2>&1
2#
*/5 * * * * /root/pyhome/crawler/lagou/changeip.sh >> /root/pyhome/crawler/lagou/ip.log 2>&1
3#
*/30 * * * root /usr/local/mycommand.sh (每天,每30分钟执行一次 mycommand命令)
4#
30 21 * * * /usr/local/etc/rc.d/lighttpd restart 表示每晚的21:30重启apache。
5#
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 表示每月1、10、22日的4 : 45重启apache。
上面的例子格式遵循:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
D 默认日志 另外,执行的计划任务,日志在 /var/log/cron 中可以查看执行日志,以供分析查看
运行项目报错,提醒内存不足 Centos/linux 服务器的内存不够了怎么办?centos用虚拟内存扩展内存:
参考:https://blog.csdn.net/herobacking/article/details/80371242
【注意】重启后这个就会没了,需要重新设置
【Linux 常用命令大大全】https://blog.csdn.net/a303549861/article/details/93754526
linux查找符合条件的文件并删除 找到根目录下所有的以test开头的文件并把查找结果当做参数传给rm -rf命令进行删除: 1、find / -name “test” |xargs rm -rf 2、find / -name “test” -exec rm -rf {} \; 3、rm -rf $(find / -name “test”)
如果想指定递归深度,可以这样: 1、find / -maxdepth 3 -name “.mp3” |xargs rm -rf 2、find / -maxdepth 3 -name “test” -exec rm -rf {} \; 3、rm -rf $(find / -maxdepth 3 -name “test”) 这样只会查找三层目录中符合条件的文件并删除掉!
下面我是新购买的腾讯云-Linux-CentOS服务器的使用记录