首页
留言板
推荐
Allen知识库
Search
1
VMware vSphere系列教程-部署DC/DHCP/DNS(五)
21 阅读
2
最强链路监控系统推荐Pinpoint
21 阅读
3
PC新时代开启! DDR5内存标准正式发布
19 阅读
4
Ansible系列教程-常用模块(二)
13 阅读
5
将物理机迁移到VMware虚拟机(P2V)
13 阅读
VMware
vCloud
Horizon
vSphere
NSX
运维相关
Docker
Network
Zabbix
Ansible
Python
Microsoft
Mysql
Linux
Windows Server
登录
/
注册
Search
标签搜索
ansible
docker
zabbix
chatgpt
windows模板
linux模板
模板
k3
lede
openwrt
docker网络配置
清理微信好友
python清理微信好友
grafana
监控交换机
实施教程
ansible安装
ubuntu
acrh17路由固件
访问宽带猫
Allen
累计撰写
134
篇文章
累计收到
0
条评论
首页
栏目
VMware
vCloud
Horizon
vSphere
NSX
运维相关
Docker
Network
Zabbix
Ansible
Python
Microsoft
Mysql
Linux
Windows Server
页面
留言板
推荐
Allen知识库
搜索到
104
篇与
的结果
2023-10-24
Docker搭建PHP+Nginx+Mysql环境
一、准备工作我们创建容器后,我们需要映射一些配置文件或网站程序文件到宿主机,所以我们创建一些文件夹来存放这些东西,我是创建了以下这些文件夹,你可以按照自己平时的习惯来创建。# mkdir -p /data/{mysql,nginx/{conf,rewrite},wwwroot,wwwlogs,source,download} 路径如下 /data /mysql 存放数据库备份 /nginx nginx配置文件 /conf /rewrite 伪静态 /wwwroot 网站文件 /wwwlogs 日志 /source 程序源代码 /download 下载目录二、部署环境2.1 部署MySQL运行容器# docker run \ -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=12345678910 \ --name m_mysql mysql:5.7参数说明-d 让容器在后台运行-p 添加主机到容器的端口映射,前面是映射到本地的端口,后面是需要映射的端口-e 设置环境变量,MYSQL_ROOT_PASSWORD这里是设置mysql的root用户的初始密码--name 容器的名字,随便取,但是必须唯一在实际项目中,不建议用docker启动mysql,除非你能保证数据安全,否则很容易数据丢失,性能也不能最大化。进入容器docker exec -it m_mysql /bin/bash参数说明-t 在容器里生产一个伪终端-i 对容器内的标准输入 (STDIN) 进行交互开启Mysql远程连接这步你当然也可以不开启,可以使用ssh通道来连接,但是我这里记一笔。这里是5.7,注意了。a. 进入mysql# mysql -uroot -p12345678910 b. 选择数据库> use mysqlc. 开启远程连接> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; > FLUSH PRIVILEGES;d. 重启# service mysqld restart这样就可以通过公网IP连接了,如果还是不行,请看看防火墙(自身防火墙或者各大云服务商的安全组配置)。2.2 部署PHP1 运行容器# docker run \ -d \ -p 9000:9000 \ -v /data/wwwroot:/usr/share/nginx/html \ --link m_mysql:mysql \ --name m_phpfpm bitnami/php-fpm:8.0参数说明-d 让容器在后台运行-p 添加主机到容器的端口映射-v 添加目录映射–-name 容器的名字,随便取,但是必须唯一--link link 是在两个contain之间建立一种父子关系,父container中的web,可以得到子container db上的信息。通过link的方式创建容器,我们可以使用被Link容器的别名进行访问,而不是通过IP,解除了对IP的依赖。创建php文件<?php phpinfo(); ?>这时候你进php容器,在/usr/share/nginx/html文件夹中也能看到我们创建的index.php文件,因为我们设置了目录映射。这样我们就可以直接在宿主机直接更改,而不用进容器修改。2.3 部署Nginx运行容器docker run \ -d \ -p 80:80 \ --name m_nginx nginx:1.12成功后,我们可以进入容器看看,使用docker exec -it m_nginx /bin/bash进入容器,然后进入/etc/nginx/文件夹中,我们需要的挂载nginx.conf和conf.d文件夹中的配置文件,因为是我们平时需要频繁更改的配置,所以,我们将他们复制到宿主机上。退出命令行,不要使用exit,因为exit会让容器停止。这里使用ctrl + p + q来退出容器。然后使用docker cp操作复制出文件# docker cp m_nginx:/etc/nginx/nginx.conf /data/nginx # docker cp m_nginx:/etc/nginx/conf.d/default.conf /data/nginx/conf删除之前运行的Nginx容器# docker stop m_nginx && docker rm m_nginx重新运行Nginx容器# docker run \ -d \ -p 80:80 \ -v /data/wwwroot:/usr/share/nginx/html \ -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \ -v /data/nginx/conf:/etc/nginx/conf.d \ -v /data/wwwlogs:/var/log/nginx \ --link m_phpfpm:phpfpm \ --name m_nginx nginx:1.12编辑配置文件修改/data/nginx/conf/default.conf,我的配置如下:server { listen 80; server_name _; #charset koi8-r; access_log /var/log/nginx/default_nginx.log main; location / { root /usr/share/nginx/html/default; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /usr/share/nginx/html/default; fastcgi_pass phpfpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }配置文件中的fastcgi_pass phpfpm:9000;,因为我们在启动容器的时候--link了phpfpm容器,所以这里直接填phpfpm,就能找到phpfpm的IP,当然你也可以不配置--link,那么你可以这样找到容器IP,再将IP填入。docker inspect 容器名或ID | grep "IPAddress"2.4 部署phpMyAdmin下载地址:https://www.phpmyadmin.net/解压到/data/wwwroot/default,并将文件夹重命名为phpMyAdmin配置phpMyAdmin 打开 libraries 目录下,找到config.sample.inc.php,改名为config.inc.php,用文本编辑器打开文件。在blowfish_secret中填入值,如:$cfg['blowfish_secret'] = 'sadsadsadasffdsadfsa'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ 在host中填入数据库的访问IP,这里我填的Mysql容器的内网IP,你也可以填外网IP试试。$cfg['Servers'][$i]['host'] = '172.17.0.2';保存退出访问http://IP/phpMyAdmin/index.php
2023年10月24日
7 阅读
0 评论
0 点赞
2023-09-18
最强链路监控系统推荐Pinpoint
一、概述用过cat、pinpoint、skywalking等链路监控系统,各有优劣,但用的最多的还是pinpoint,工作6年,其中有4年都在用pinpoint,所以也比较熟悉,之前也有过介绍如何安装部署,可以去参考如下文章: 1.1 什么是Pinpoint?Pinpoint是一个开源的应用性能监控工具,专为分布式应用程序而设计。它的目标是帮助开发人员和运维团队深入了解分布式系统中的事务流程和性能表现。Pinpoint跟踪并可视化事务的执行过程,以便用户能够识别问题并改进应用程序性能。1.2 Pinpoint的主要特性Pinpoint具有许多强大的特性,以下是一些主要功能:1.2.1 服务器地图(ServerMap)Pinpoint通过ServerMap可视化展示组件之间的互联关系,帮助用户理解分布式系统的拓扑结构。用户可以单击节点以查看有关组件的详细信息,如当前状态和事务计数。这有助于快速识别问题所在。1.2.2 实时活跃线程图表(Realtime Active Thread Chart)Pinpoint能够实时监控应用程序内部的活跃线程。这有助于用户了解应用程序的并发情况,识别潜在的性能瓶颈。1.2.3 请求/响应分布图表(Request/Response Scatter Chart)Pinpoint可以可视化展示请求计数和响应模式的变化趋势。这有助于识别潜在的问题,并提供了更详细的信息以进行进一步的分析。1.2.4 调用堆栈(CallStack)Pinpoint提供了代码级别的可视化,允许用户深入了解分布式环境中的每个事务。这有助于识别瓶颈和故障点,从而加速故障排除过程。 1.2.5 检查器(Inspector)Pinpoint的Inspector功能允许用户查看有关应用程序的附加信息,如CPU使用率、内存和垃圾收集情况、每秒事务数(TPS)以及JVM参数。这些信息对于性能优化和故障排除非常有帮助。二、如何使用Pinpoint?使用Pinpoint来监控分布式应用程序的性能是一个多步骤的过程。 2.1 快速安装看了下最新的安装步骤,竟然有了windwos的安装部署,可以快速安装试用可以访问如下路径:https://pinpoint-apm.gitbook.io/pinpoint/getting-started/quickstart/quickstart.win.engithub可以访问的直接到如下链接去下载就可以,目前支持windowshttps://github.com/1Remote/1Remote/releases三、总结Pinpoint是一款强大的分布式应用性能监控工具,旨在帮助开发人员和运维团队深入了解分布式系统中的事务流程和性能表现。它提供了一系列功能,包括服务器地图、实时活跃线程图表、请求/响应分布图表、调用堆栈和检查器,使用户能够识别问题并优化应用程序性能。作为一款开源工具,Pinpoint具有高度可定制性、社区支持和商业友好的开源许可,适用于各种分布式应用监控场景。无论是开发人员还是运维团队,Pinpoint都是一个强大的工具,可帮助他们提升分布式应用的性能和可用性,提供卓越的用户体验。
2023年09月18日
21 阅读
0 评论
0 点赞
2023-04-21
fstab挂载iscsi硬盘无法启动问题
在/etc/fstab文件中,我们可以添加随系统启动自动挂载的磁盘。但是当我们在/etc/fstab文件中挂载网络设备的磁盘(比如iscsi设备)需要注意添加_netdev,如下: 系统启动流程: 先读取/etc/fstab,然后再启动网络,启动iscsi,当读取/etc/fstab中的iscsi存储条目时,本机的网络和iscsi服务均未启动,所以这时候根本无法挂载,会导致系统无法启动。所以添加_netdev条目,告诉系统这个是网络设备,请等待网络服务启动完成后再尝试挂载。只有网络磁盘才需要这样,本地磁盘不需要。
2023年04月21日
2 阅读
0 评论
0 点赞
2023-03-03
Centos开机故障进入dracut模式
故障描述由于系统配置参数错误,开机进入dracut模式,并进行以下报错 解决方法寻找不到相关LVM分区(vg名称因某操作修改成了newcentos,配置文件相关内核启动参数只需要订正即可)1、查看LVM情况(显示未激活VG,这样导致无法挂载根目录进行操作)# blkid /dev/sda2: UUID="9UurP7-hKWa-zUEb-FBQL-9Cdk-17Si-PBwxGZ" TYPE="LVM2_member" /dev/sda1: UUID="85775bb6-ab14-4b77-ad24-4e92ab5e353d" TYPE="xfs" # lvm lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home newcentos -wi------- 66.99g root newcentos -wi------- 50.00g swap newcentos -wi------- 2.00g 2、启用VG# lvm vgchange -ay # blkid /dev/sda2: UUID="9UurP7-hKWa-zUEb-FBQL-9Cdk-17Si-PBwxGZ" TYPE="LVM2_member" /dev/sda1: UUID="85775bb6-ab14-4b77-ad24-4e92ab5e353d" TYPE="xfs" # lvm lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home newcentos -wi-a----- 66.99g root newcentos -wi-a----- 50.00g swap newcentos -wi-a----- 2.00g 3、挂载root,修改grub配置文件# mkdir tmp1 # mount /dev/newcentos/root tmp1 # vim tmp1/etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=newcentos/root rd.lvm.lv=newcentos/swap rhgb quiet"4、修改开机挂载文件# vim tmp1/etc/fstab /dev/mapper/newcentos-root / xfs defaults 0 0 UUID=85775bb6-ab14-4b77-ad24-4e92ab5e353d /boot xfs defaults 0 0 /dev/mapper/newcentos-home /home xfs defaults 0 0 /dev/mapper/newcentos-swap swap swap defaults 0 05、挂载boot,修改grub2配置文件# mkdir tmp2 # mount /dev/sda1 # vi tmp2/grub2/grub.cfg linux16 /vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/newcentos-root ro crashkernel=auto rd.lvm.lv=newcentos/root rd.lvm.lv=newcentos/swap rhgb quiet LANG=en_US.UTF-8 linux16 /vmlinuz-0-rescue-f3abd6c361dd1a45a0d5ad02a85370e1 root=/dev/mapper/newcentos-root ro crashkernel=auto rd.lvm.lv=newcentos/root rd.lvm.lv=newcentos/swap rhgb quiet6、重启即可正常启动
2023年03月03日
2 阅读
0 评论
0 点赞
2023-03-02
win2008远程访问共享没有写权限
右击开始菜单,运行,键入“gpedit.msc”: 依次展开“计算机配置”→“管理模版”→“系统”→“凭据分配”→找到“允许分配保存的凭据用于仅NTLM服务器身份验证”;单击“启用”→继续单击“启用”→输入“TERMSRV/*”→确定
2023年03月02日
2 阅读
0 评论
0 点赞
1
2
...
21