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插件,所 ...
随机推荐
- shell习题-输入数字执行对应命令
要求: 写一个脚本实现如下功能:输入一个数字,然后运行对应的一个命令.显示命令如下:*cmd meau** 1—date 2–ls 3–who 4–pwd当输入1时,会运行date, 输入2时运行l ...
- python3 configparser模块
配置文件如下: import configparser conf = configparser.ConfigParser() print(type(conf)) #conf是类 conf.read(' ...
- 关于一段有趣代码引出的String创建对象的解释
通常来说,我们认为hashCode不相同就为不同的对象.就这样由一段代码引发了一场讨论,代码如下: @Test public void stringCompare() { String s1 = &q ...
- 查询IP地址
在黑窗口里面输入:ipconfig
- AWS Cloud Practioner 官方课程笔记 - Part 1
课程笔记: 1. 3种访问AWS服务的方式: GUI, CLI, SDK 前两种是用户用来访问的,SDK可以让程序调用去访问服务. 2. core services 以及通用的use cases Am ...
- 接口框架 python+unittest+request+HTMLTestRunner
request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项.如POST,GET最常用的两种请求 官方文档:http://docs.python-requests.org/en/mas ...
- (4.23)SQL Server中的加密
转自:https://www.cnblogs.com/CareySon/archive/2012/04/01/SQL-SERVER-Encryption.html 简介 加密是指通过使用密钥或密码对数 ...
- 【题解】Oh My Holy FFF
题目大意 有\(n\)个士兵(\(1 \leq n \leq 10^5\)),第\(i\)个士兵的身高为\(h_{i}\),现在要求把士兵按照原来的顺序分成连续的若干组,要求每组的士兵数量不超过\ ...
- Java 异步编程
昨天头儿给的学习文档我还没看完,头儿说:“MongoDB光会简单的添删改查什么的不行,要深入了解,你们连$set和$inc使用场景都分不清.” 确实,学习过一年多SQL,确实对学习MongoDB有点影 ...
- JS相比TS的缺点(或TS的优点)
JS只有在运行时,才会抛出错误, JS里有任何的拼写错误 都不会提示错误 JS运行时报的错,指向也未必是错误的源头,也就是说:A类里因为书写代码有误,会造成运行时其他的类报错如B JS无法做到不同pa ...