Alvin Liu

  • Home
  • About
  • Privacy Policy
Linux
Linux

Ubuntu 配置WordPress + LAMP

本示例采用Ubuntu 20实现,感谢Oracle Cloud提供免费服务器。 更新系统 检查并安装Apache2 访问Apache2 用浏览器打开http://你的IP,如果能看到页面说明安装成功了 配置HTTPS 上述命令完成后 配置自动更新SSL Cert sudo crontab -e 验证https https://你的域名,浏览器应该能识别出安全的SSL证书。如果配置了跳转,访问http://你的域名会自动跳转到https。 安装PHP 安装php相关的组件 安装mysql数据库 安装mysql相关的组件 安装MySQL控制台(可选) 设置MySQL数据库root密码 下列步骤如果安装了phpmyadmin,可以登录phpmyadmin完成 安装WordPress 访问WordPress官网获取最新下载地址 在服务器直接下载安装包 配置WordPress 用浏览器访问https://你的域名/wp-admin 在安装界面中输入上一步里创建的mysql的数据库名,数据库用户名和密码,其它都使用默认选项则可。 解决FTP问题 如果WordPress在升级插件或安装主题时提示输入服务器的ftp账号,可以尝试用下面的方法解决。 编辑 /var/www/html/wp-config.php,在最后添加 重启apache服务 解决上传文件过大的问题 如果在添加主题或上传其它文件时提示文件过大 编辑 /etc/php/7.4/apache2/php.ini 在最后添加 重启apache服务 解决固定链接无法修改的问题 登录服务器运行如下命令 编辑 /etc/apache2/apache2.conf 把下列内容添加到末尾 参考文档 https://blog.csdn.net/meihualing/article/details/128630238/ https://www.lmonkey.com/t/mky5RoQLa

2023-02-27 0comments 1654hotness 2likes Alvin Liu Read all
Linux

Use Lens to connect Kubernetes through SSH Tunnel

Lens is a light weight client to manage remote Kubernetes cluster. It has Windows and Mac version to provide rich cluster management features. Following steps introduced how to use Lens connect to remote Kubernetes cluster through SSH tunnel.

2023-02-26 1comments 4583hotness 0likes Alvin Liu Read all
Linux

Kubernetes 1.26 部署方案

方案概述 服务版本 安装Kubernetes 参考文档: 中文步骤, 包括配置国内镜像服务器 http://www.cdyszyxy.cn/cwtj/616625.html 官方文档 https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/ containerd, runc和CNI插件安装步骤 https://github.com/containerd/containerd/blob/main/docs/getting-started.md crictl安装文档: https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md 在VM执行下列命令 转发 IPv4 并让 iptables 看到桥接流量 依次在服务器直行下列命令 下面的命令只在主VM执行 下面命令在其它VM执行加入集群 启用crictl 本地使用kubectl 复制服务器.kube/config的内容到本地相同目录, 安装kubectl后就可以访问了. 本地通过TLS Tunnel使用kubectl 修改~.kube/config 开启tunnel 使用Lens图形化管理Kubernetes集群 下载后注册为免费用户https://k8slens.dev/desktop.html 首页Catalog -> Cluster -> 点击加号, 打开.kube/config文件添加集群. 在Cluster里点击右侧三个点选择Connect就可以使用了. 安装Helm 安装Traefik 安装Traefik后会自动生成service, 查看80端口对应的node port就是外网端口. kubectl get svc -n kube-system 配置对应的IngressRoute后就可以访问dashboard了. kubectl create -f traefik_ingress.yml 使用SSH隧道访问Traefik路由 把Traefik上配置的虚拟域名绑定到本地host文件 vi /etc/hosts 把Traefik的http服务端口(node port)映射到本地80端口 访问http://node1.test.com/dashboard/ 安装Docker Registry 生成docker密码, 把htpasswd放在node2的/opt/docker/auth, 后面要放在secret里面 创建系统服务的命名空间 部署docker服务 kubectl create -f docker_registry.yml 获取docker registry地址 Cluster IP给kubernetes配置image用, NodePort需要映射出去给本地用外网IP pushi image kubectl get svc -n kube-system 测试Docker服务器 本地浏览器访问http://vm_public_ip:32299/v2/_catalog 输入用户名密码后可以登录 本地映射Docker服务器端口 开发机Docker Desktop访问insecure registry node1.test.com是hosts文件配置的本地ip, 5000端口是ssl隧道映射的docker服务的node port 不管docker registry的pod运行在哪台VM, Node Port都会映射到所有VM 开发机rancher-desktop insecure registry 在开发机运行 添加下面的配置 开发机push Docker image到服务器Docker registry 服务器上检查image是否已经上传 开发机使用Maven build并pushi Docker image服务器docker registry 项目代码:https://github.com/kjstart/mavendemo 需要在本地Maven配置docker服务器的账号密码, 这里的server id和项目pom.xml里要对应 vi ~/.m2/settings.xml 配置好后就可以build项目了 注意Docker镜像命名不能用驼峰语法(ExampleName)会报Broken Pipe错误. 配置服务器containerd insecured http和auth 这步需要在每个VM(node)配置, 10.200.174.243是docker registry的ClusterIP, 请酌情修改. sudo vi /etc/containerd/config.toml sudo mkdir -p /etc/containerd/certs.d/10.200.172.167:5000 sudo vi /etc/containerd/certs.d/10.200.172.167:5000/hosts.toml sudo systemctl restart containerd 创建应用程序的命名空间 创建应用程序配置 创建应用程序秘钥 也可以用Lens创建, data的值直接填原文,不用base64编码 部署一个项目 这是demo项目https://github.com/kjstart/mavendemo 访问虚拟机上运行的服务 如果一些服务不迁移到k8s上,可以用下面的方法访问 比如要访问192.168.1.160:8161 kubectl create -f mysql-vm.yml k get svc -n infra 然后在k8s pod里就可以用Service的CLUSTER-IP访问服务了. 以后迁移服务, Service的IP不变 外网访问应用程序 后续要把公网域名映射到VM的Traefik端口, IngressRoute的域名做对应修改. 应用的端口在container和service暴露, 并通过IngressRoute映射为路径, 这里是/mavendemo http://node1.test.com:31708/mavendemo/hello 内网访问应用程序 使用service定义的服务名和应用程序暴露的端口来访问, 在container和service层都要暴露端口 添加新的Node(VM)到集群 在主节点生成token,24小时内可重复使用 kubeadm token create 在新节点完成K8s安装后(参考上面的安装Kubernetes部分),运行下面的命令 kubeadm join 192.168.113.141:6443 --token 你的token --discovery-token-ca-cert-hash sha256:f96f75de5775c1a66caa6ad5cb8783f4251db5c3137ac42c511f794b95afac33 允许K8s master节点部署应用 master节点(control plane)默认是不会部署应用程序的pod的. 如果需要部署, 编辑master节点, 删除NoSchedule的taint就可以了. kubelet常用alias 放在.bash_profile里, 可简化操作 参考文档 http://www.cdyszyxy.cn/cwtj/616625.html https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/ https://github.com/containerd/containerd/blob/main/docs/getting-started.md https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md https://helm.sh/docs/intro/install/ https://doc.traefik.io/traefik/getting-started/install-traefik/ https://blog.csdn.net/avatar_2009/article/details/109807878 https://stackoverflow.com/questions/70971697/modify-docker-daemon-configuration-in-rancher-desktop-vm https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration https://github.com/containerd/containerd/blob/main/docs/hosts.md https://blog.csdn.net/weixin_44742630/article/details/126095739 https://www.cnblogs.com/yangmeichong/p/16661444.html https://blog.csdn.net/weixin_43616190/article/details/126415601 https://kubernetes.io/docs/concepts/configuration/configmap/ https://kubernetes.io/zh-cn/docs/concepts/configuration/secret/ https://blog.csdn.net/Thomson_tian/article/details/117218281 https://blog.csdn.net/sanhewuyang/article/details/128369826

2023-02-26 0comments 762hotness 0likes Alvin Liu Read all
Post
  • General Conversion Tool convertt.top
  • SQL Developer Code Templates Autocomplete
  • Oracle Database Java Stored Procedure
  • Android 13 bypass Restricted Setting without root
  • Backup your Mac without time machine
Category
  • Architect
  • Database
  • Distributed System
  • Frontend
  • Golang
  • High Performance
  • JVM
  • Linux
  • Management
  • Misc
  • uncategorized

Android Babel Blog Cache Database Distributed System Dynamo Golang HA Heap JCS JVM Kubernetes Lens Linux Management Memory OCI Oracle Performance Planning Traefik Typescript Ubuntu Webpack WordPress

Comments
  1. martine on Use Lens to connect Kubernetes through SSH Tunnel
  2. kjstart on ES6 - ES13 新特性列表

COPYRIGHT © 2024 Alvin Liu. alvingoodliu@[email protected] ALL RIGHTS RESERVED.

Theme Made By Seaton Jiang