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插件,所 ... 
随机推荐
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_6_泛型通配符
			泛型通配符是一个问号 也是代表不确定的意思 换成Object两个都报错了. 泛型是没有继承概念的,所以上面写Object就会报错.这里应问号 可以代表位置类型 it.next会自动用Object接收 ... 
- Chromely
			Chromely Chromely is a lightweight alternative to Electron.NET, Electron for .NET/.NET Core develope ... 
- Docker command line 学习笔记
			deprecated ! 以后直接对这个更新 http://wangzhezhe.github.io/blog/2015/08/10/docker-operations/ 之前整理了好久,每次用到一点 ... 
- 使用xmake优雅地描述工程
			描述语法 xmake的描述语法基于lua实现,因此描述语法继承了lua的灵活性和简洁性,并且通过28原则,将描述作用域(简单描述).脚本作用域(复杂描述)进行分离,使得工程更加的简洁直观,可读性非常好 ... 
- 使用lua实现try-catch异常捕获
			lua原生并没有提供try-catch的语法来捕获异常处理,但是提供了pcall/xpcall等接口,可在保护模式下执行lua函数. 因此,可以通过封装这两个接口,来实现try-catch块的捕获机制 ... 
- 今天起,重新开头学习Java -  一、安装环境
			先拜领路人 https://blog.csdn.net/u011541946/article/category/6951961/3? 一.安装JDK 1. 下载 www.java.com JDK是Ja ... 
- Apache服务(基于IP地址,主机名,端口号)
			安装Apache服务程序 需要注意apache服务程序的软件包名称叫做httpd,因此直接执行yum install apache则是错误的. [root@liuxuanke-hbza ~]# yum ... 
- SpringBoot 使用Mybatis+MySql
			pom配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http: ... 
- struts框架中常用到的标签
			2.<constant name="struts.i18n.encoding" value="UTF-8" /> 指定Web应用的默认编码集 ... 
- TFS版本对应
			原文: MSDN Operating systems TFS can be installed on a Windows server or client operating system. TFS ... 
