UX168办公本地环境维护记录
上班到公司
1、打考勤靠、或处理考勤异常
2、钉钉
3、邮件、
4、禅道系统
5、开启nginx、node、monogo服务
5.1、开启nginx服务
/etc/init.d/apache2 stop
/export/scripts/start_docker_nginx.sh #有mysqli镜像,无redis
/export/scripts/start_docker_nginx_X.sh #有redis镜像,无mysqli
5.2、开启monogodb服务
/export/js/cets_nodejs_app/scripts/start_docker_mongodb.sh root@ux168-OptiPlex-3040:/export/js/cets_nodejs_app/scripts# /export/js/cets_nodejs_app/scripts/start_docker_mongodb.sh
docker: Error response from daemon: Conflict. The container name "/mongodb" is already in use by container "74dbc51fe46e9a46c4135d5413ca682d34cf3115ec7642e0770f34ac5326aade". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'. 解决办法:docker rm 74dbc51fe46e
5.3、开启node服务
/export/js/cets_nodejs_app/scripts/start_docker_mongoose5.sh root@ux168-OptiPlex-3040:/export/js/cets_nodejs_app/scripts# /export/js/cets_nodejs_app/scripts/start_docker_mongoose5.sh
docker: Error response from daemon: Conflict. The container name "/cets_nodejs_app" is already in use by container "ff02a81a22099543e56e90551d6f27722b4f898e193be43606a70a8812a6deae". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'. 解决办法:docker rm ff02a81a220
6、检查3个服务是否起来
root@ux168-OptiPlex-:/export/js/cets_nodejs_app/scripts# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
88c7b5ed9497 dockerimages-v2.ux168.cn:/v8_mongoose5 "/bin/sh -c 'cd /hom…" seconds ago Up seconds /tcp, /tcp, -/tcp, /tcp, /tcp, /tcp, /tcp, -/tcp, /tcp, /tcp, -/tcp, /tcp, -/tcp, /tcp, /tcp, /tcp, /tcp, 0.0.0.0:->/tcp cets_nodejs_app
5f5caa376af4 dockerimages-v2.ux168.cn:/mongodb "/bin/sh -c /usr/bin…" minutes ago Up minutes 0.0.0.0:->/tcp mongodb
405c64311de4 dockerimages-v2.ux168.cn:/nginx:latest "/bin/sh -c '/etc/in…" minutes ago Up minutes 0.0.0.0:->/tcp happy_bell
root@ux168-OptiPlex-:/export/js/cets_nodejs_app/scripts# netstat -nltp |grep docker-proxy
tcp6 ::: :::* LISTEN /docker-proxy
tcp6 ::: :::* LISTEN /docker-proxy
tcp6 ::: :::* LISTEN /docker-proxy
7、进入node,pm2放前台运行,方便终端输出调试
root@ux168-OptiPlex-:/export/js/cets_nodejs_app/scripts# docker-nsenter 88c7b5ed9497
root@88c7b5ed9497:~# cd /home/mean
root@88c7b5ed9497:/home/mean# pm2 list
┌──────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬────────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────┼────────────┼──────────┤
│ server │ │ fork │ │ online │ │ 21s │ % │ 144.9 MB │ disabled │
└──────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴────────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
root@88c7b5ed9497:/home/mean# pm2 stop
[PM2] Applying action stopProcessId on app [](ids: )
[PM2] [server]() ✓
┌──────────┬────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼──────────┤
│ server │ │ fork │ │ stopped │ │ │ % │ B │ disabled │
└──────────┴────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
root@88c7b5ed9497:/home/mean# pm2 list
┌──────────┬────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼──────────┤
│ server │ │ fork │ │ stopped │ │ │ % │ B │ disabled │
└──────────┴────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
root@88c7b5ed9497:/home/mean# node server.js [2019-08-28T19:58:21.365] [pid=588] [ INFO] - [2019-08-28T19:58:21.364] [pid=588] [ INFO] - mongoSwitch = 1
[2019-08-28T19:58:21.366] [pid=588] [ INFO] - [2019-08-28T19:58:21.366] [pid=588] [ INFO] - slowQuery = 100
[2019-08-28T19:58:21.393] [pid=588] [ INFO] - [2019-08-28T19:58:21.393] [pid=588] [ INFO] - masterMongoose 连接数据库成功!mongodb://172.16.10.62:27017/cets_test primary
[2019-08-28T19:58:21.396] [pid=588] [ INFO] - [2019-08-28T19:58:21.396] [pid=588] [ INFO] - slaveMongoose 连接数据库成功!mongodb://172.16.10.62:27017/cets_test secondaryPreferred
[2019-08-28T19:58:21.396] [pid=588] [ INFO] - [2019-08-28T19:58:21.396] [pid=588] [ INFO] - 默认数据库读方式: secondaryPreferred
[2019-08-28T19:58:22.706] [pid=588] [ WARN] - --
[2019-08-28T19:58:22.708] [pid=588] [ WARN] - MEAN.JS - Development Environment
[2019-08-28T19:58:22.708] [pid=588] [ WARN] - Environment: development
[2019-08-28T19:58:22.708] [pid=588] [ WARN] - Port: 3010
[2019-08-28T19:58:22.709] [pid=588] [ WARN] - Database: mongodb://172.16.10.62:27017/cets_test
[2019-08-28T19:58:22.709] [pid=588] [ WARN] - App version: 0.4.2
[2019-08-28T19:58:22.709] [pid=588] [ WARN] - MEAN.JS version: 0.4.2 后台运行nodejs服务
pm2 restart 0
pm2 list
pm2 log 0 问题:node服务已经起来,但pm2 list没有服务进程信息,pm2 log 0也没有日志输出
解决办法:重启机器。重启docker、重启node服务。
8、新建终端启用fiddler
/root/下载/fiddler/mono Fiddler.exe
9、服务有莫名问题,可以重启docker服务
root@ux168-OptiPlex-:/export/js/cets_nodejs_app/scripts# docker restart 405c64311de4
root@ux168-OptiPlex-3040:/export/www/cets_web# /etc/init.d/docker restart all
root@ux168-OptiPlex-3040:/export/www/cets_web# /etc/init.d/docker restart
10、本地也安装了php、nginx,初衷是为了xdebug调试
php-fpm 9001
xdebug 9002
nginx 8080
开启停用本地nginx php-fpm
/usr/local/webserver/php/sbin/php-fpm -y /usr/local/webserver/php/etc/php-fpm.conf -c /usr/local/webserver/php/etc/php.ini
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
killall php-fpm
killall nginx
nginx 502解决办法:
以下是我的做法,供参考:
.首先,把后端代码恢复到上一次没报错之前的版本,因为nginx报错不一定绝对是nginx的问题,先把系统恢复成可以运行的状态,这是控制变量法呀。
.重新加载nginx的配置文件
nginx -c /usr/local/webserver/nginx/conf/nginx.conf
如果你不能全局运行nginx命令,请加上nginx的路径。-c后面的参数为nginx配置文件所在路径这是要求nginx重新添加配置文件地址。
nginx -s reload
重新加载文件
.重新运行,可以看到会出现如下错误:
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] bind() to 0.0.0.0: failed (: Address already in use)
nginx: [emerg] still could not bind()
可以看到,是进程端口被占用了,可以看系统是否已有nginx在运行。
运行命令:ps -aux | grep nginx
然后对照,发现第一个和第二个的pid分别为130616,,kill掉即可。
kill
kill
问题解决,再次运行nginx,一切正常
UX168办公本地环境维护记录的更多相关文章
- kafka 基础知识梳理及集群环境部署记录
一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...
- Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录
一. MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, G ...
- Maven-001-初识及本地环境配置
前段时间想对自己之前写的一些代码或者小工具,因为写的比较乱,因而想系统的管理一下自己学习 Java 时写的源码,经过多方请教.网上查询,最终决定使用 Maven 来管理自己写的代码. Maven 是一 ...
- 本地环境下 WordPress 环境搭建与安装
本地环境:Ubuntu 14.04 使用软件: WordPress 4.1.1 中文优化版 EasyEngine 安装步骤: 安装 LNMP 环境; wget -qO ee rt.cx/ee & ...
- Centos7下ELK+Redis日志分析平台的集群环境部署记录
之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ ...
- MySQL高可用方案-PXC环境部署记录
之前梳理了Mysql+Keepalived双主热备高可用操作记录,对于mysql高可用方案,经常用到的的主要有下面三种: 一.基于主从复制的高可用方案:双节点主从 + keepalived 一般来说, ...
- MySQL高可用架构-MMM环境部署记录
MMM介绍MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理 ...
- MySQL高可用架构-MHA环境部署记录
一.MHA介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司) ...
- Sonar本地环境搭建
一个新项目准备上线提测了,为了在提测之前做一下代码走查,同时了解项目目前的质量情况,就在本地搭建了一套sonar环境.搭建的过程中遇到了很多问题,sonar官方已不再维护Eclipse的svn插件,所 ...
随机推荐
- 深入理解webpack(三) babel之配置文件
一:理解 babel之配置文件.babelrc 基本配置项 1. 什么是babel? 它是干什么用的? ES6是2015年发布的下一代javascript语言标准,它引入了新的语法和API,使我们编写 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_9_Hashtable集合
是最早期的双列集合 同步就表示是单线程 value也不允许为空
- UI自动化之异常与截图处理
对操作不成功时,希望能够继续执行其他操作,或者是,希望操作不成功时,能够写日志记录 目录 1.常见异常 2.截图处理 1.常见异常 1.NoSuchElementException:没有找到元素 2. ...
- delphi 函数isiconic 函数 判断窗口是否最小化
http://blog.sina.com.cn/s/blog_66357ab901012t2h.html delphi 函数isiconic 函数 判断窗口是否最小化 (2012-05-26 22:0 ...
- python基础-2 编码转换 pycharm 配置 运算符 基本数据类型int str list tupple dict for循环 enumerate序列方法 range和xrange
1.编码转换 unicode 可以编译成 UTF-U GBK 即 #!/usr/bin/env python # -*- coding:utf-8 -*- a = '测试字符' #默认是utf-8 a ...
- 剑指Offer编程题(Java实现)——数组中的重复数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...
- poj-2516.minimum cost(k次费用流)
Minimum Cost Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 19883 Accepted: 7055 Des ...
- 小白学Python(10)——pyecharts 绘制仪表图 Gauge
from pyecharts import options as opts from pyecharts.charts import Gauge, Page gauge=( Gauge() .add( ...
- python字符串内置函数汇总
1.capitalize 第一个单词首字母大写 2.title 每个单词首字母大写 3.upper 每个字母变大写 4.lower 每个字母变小写 5.len() 字符串长度 6.format() 格 ...
- OpenCV-----图像的加载与保存
OpenCV中的图像: 定义:在opencv中图像就是结构化存储数据的信息. 属性:1.宽.高和通道数目 1 print(image.shape) #形状:行(长).列(宽).通道数(深度) 2.像素 ...