好好学习,天天向上!

域名转移的最新流程

laotu | 2021/10/21, 09:29

以前,很多网友都曾经为国内域名转移的繁复过程苦恼、为难过。那现在域名转移流程怎么样了?因为在国际域名管理机构的约束下,域名转移的流程还是简单、快捷了很多,几乎几个小时就可以完成域名的转移工作。那接下来就给大家简单讲解一下整个域名的转移过程:

1、首先,在原来域名注册商(或代理商)处提出域名转移申请,这时候一般需要提交域名所有人的身份证复印件(加上个人签名)电子版即可。

2、然后,域名所有人的邮箱就会收到原来域名注册商发过来的域名转移授权码。

3、接着,在新的域名注册商管理后台,选择转入域名菜单,以域名+空格+域名转移授权码格式提交,然后进入续费一年的订单,这时候可以选择微信、支付宝、信用卡结算。目前,国内外的主流域名注册商基本都支持支付宝、微信了,支付过程确实方便了很多。支付完成后,会看到要转入的域名列表,状态为“转入中”。

4、继续,查看域名所有人的邮箱,因为会收到原来域名注册商的域名转出确认通知,点击邮件中的链接地址,选择“确认”即可。以前,很多域名注册商都没这一步,一般需要域名所有人等5-30天的期限,才会自动完成转移。现在还是人性化了很多。

5、最后,域名所有人邮箱就收到新域名注册商的域名转移成功的邮件通知。登录新域名注册商的管理后台,查看域名列表已经转移成功,可以在域名管理菜单,更改域名的dns、添加a记录或别名等管理操作了。

注:如果有域名注册商有超出以上流程的额外要求,别犹豫,向国际域名注册局(ICANN)进行投诉即可解决问题,投诉邮件的格式网上很多,善用搜索,这里不再赘述。

默认分类 | 静态网址 | 发表评论 | 引用 (0)

ARM版Ubuntu通过Docker搭建LNMP环境教程

laotu | 2021/09/07, 09:26

说明:

使用 Docker 好处这里就不多说了,虽然 docker 命令一样可以管理容器;但 Docker Compose 能更好的定义和运行多容器的操作。特别是使用 docker-compose.yml 可以快速构建管理多个 Docker 容器,通过使用 docker-compose 指令来启动、停止和重启应用,以及应用中的服务和所有依赖服务的容器。yml 文件包含 Compose 使用的所有设置,用于配置镜像,容器,网络等。

本文主要讲述在ARM平台的ubuntu系统中,通过 Docker Compose 搭建LNMP环境,虽然只简单的创建了三个容器并运行。但举一反三,明白了操作流程,就可根据自己需要创建更多的容器,甚至生成自己的镜像,这将为工作提供很好的方便。

一、安装docker

参考文档:ubuntu安装docker文档:https://docs.docker.com/engine/install/ubuntu/

在新主机上首次安装 Docker 之前,需要设置 Docker 存储库。然后可以从存储库安装和更新 Docker。

1、更新apt包索引并安装依赖包以允许apt通过 HTTPS 使用存储库:

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

2、添加Docker官方的GPG密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3、使用以下命令设置arm版docker稳定存储库。

$ echo \
  "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4、更新apt包索引,安装最新版本的Docker和containerd:

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

5、查看 Docker 版本确认安装成功:

$ docker version

6、启用自动启动和启动。

# systemctl enable docker
# systemctl start docker

二、安装Docker Compose

1、安装docker compose:

$ sudo apt  install docker-compose
以上会直接安装ubuntu资源库中的docker-compose,但版本比较低,默认为1.25.0-1,要安装最新版看下面操作。

2、安装最新版docker compose(for arm):

安装 arm 版本的 docker compose ,推荐使用linuxserver.io编译好的镜像脚本安装。执行以下两行命令即可:
$ sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose

3、查看docker compose版本确认安装成功:

$ docker-compose --version

三、配置Docker Compose

参考目录树:
dk-app
├── docker-compose.yml
├── mysql  # mysql配置文件及数据库目录,需将容器内配置文件复制过来,并作挂载
│   ├── my.cnf
│   └── data
├── apache2  # apache及php配置文件目录,需将容器内配置文件复制过来,并作挂载
│   ├── apache2.conf
│   ├── php.ini
│   └── sites-available
├── nginx  # nginx配置文件目录,需将容器内配置文件复制过来,并作挂载
│   ├── nginx.conf
│   └── conf.d
│        └── default.conf
├── php  # php配置文件目录,需将容器内配置文件复制过来,并作挂载
│   └── php-fpm.conf
├── log  # 日志目录,需挂载各应用目录才能生效
│   ├── mysql
│   └──apache,php…
├── certs  # ssl证书
└── html  # web目录

1、创建项目目录并进入:

$ mkdir dk-app && dk-app

2、配置docker-compose.yml文件:

$ sudo vim docker-compose.yml

内容如下:

# 指定语法版本
version: '3'
services:
# 构建mysql服务
  mysql:
    image: biarms/mysql:5.7  # supports mysql for arm
    #image: ubuntu/mysql  # only supports mysql8.0 for arm,想装新版可使用此镜像
    container_name: dk_mysql
    restart: always
    ports:
      - 3306:3306
    volumes:
      - mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: my_secret_password
# 构建nginx服务
  nginx:
    image: nginx:latest
    container_name: dk_nginx
    restart: always
    ports:
      - 8080:80
    depends_on:
      - php
      - mysql
    volumes:
      - ./html:/usr/share/nginx/html
# 构建php服务
  php:
    image: php:7.3-fpm
    container_name: dk_php
    restart: always
    volumes:
      - ./html:/var/www/html

参数说明:
• image:建立容器使用的镜像及版本
• container_name:建立容器的名称
• restart: always:当 Docker 重启时,容器自动启动
• build:指定要使用的 Dockerfile 所在目录,Docker Compose 会自动执行 docker build 指令的动作
• ports: [hostPort]:[ContainerPort]:设定端口映射,即主机对外端口映射到容器内的端口
• volumes: [hostPath]:[containerPath]:将项目中的目录挂载到容器中指定的工作目录
• depends_on:依赖的服务
• environment:设定环境变量

3、运行服务:

$ sudo docker-compose up -d

启动或重启所有服务,在 yml 文件所在目录下运行该命令(加 -d 选项后台启动)即可。首次执行命令将拉取 service 节点下配置的镜像,然后安装容器,启动服务。

4、测试服务:

1)测试nginx及php

nginx对php的支持,需要进入nignx容器修改default站点的配置文件,操作如下:

a)进入nginx容器:
$ sudo docker-compose exec nginx sh

b)编辑default配置文件:
需要先安装vim:
# apt update
# apt install vim

# vim /etc/nginx/conf.d/default.conf

取消掉php模块的注释,做如下修改,当然也可以直接粘贴进去:

    location ~ \.php$ {
        root           /var/www/html;
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

c)修改完成,可以退出容器:
# exit

d)创建web项目目录及测试文件:
$ mkdir html
$ sudo echo "<h2>Hello World</h2>" > html/index.html
$ sudo echo "<?php phpinfo(); ?>" > html/phpinfo.php

在浏览器中分别访问 server_ip:8080 和 server_ip:8080/phpinfo.php,将会看到 Hello World 及 phpinfo 的页面信息。

2)测试mysql:

进入mysql容器:
$ sudo docker-compose exec mysql bash

登录mysql查看版本:
# mysqladmin -uroot -p version

退出容器:
# exit

5、查看当前运行的服务:

# docker-compose ps

后记:

以上只是简单的lnmp环境搭建,安装php扩展,优化nginx、php、mysql配置,绑定域名安装ssl证书这些gooogle一下,自己就操作就可以了。

默认分类 | 静态网址 | 发表评论 | 引用 (0)

ARM版Ubuntu通过Docker搭建LAMP环境教程

laotu | 2021/09/07, 09:19

说明:

使用 Docker 好处这里就不多说了,虽然 docker 命令一样可以管理容器;但 Docker Compose 能更好的定义和运行多容器的操作。特别是使用 docker-compose.yml 可以快速构建管理多个 Docker 容器,通过使用 docker-compose 指令来启动、停止和重启应用,以及应用中的服务和所有依赖服务的容器。yml 文件包含 Compose 使用的所有设置,用于配置镜像,容器,网络等。

本文主要讲述在ARM平台的ubuntu系统中,通过 Docker Compose 搭建LAMP环境,虽然只简单的创建了两个容器并运行。但举一反三,明白了操作流程,就可根据自己需要创建更多的容器,甚至生成自己的镜像,这将为工作提供很好的方便。

一、安装docker

参考文档:ubuntu安装docker文档:https://docs.docker.com/engine/install/ubuntu/

在新主机上首次安装 Docker 之前,需要设置 Docker 存储库。然后可以从存储库安装和更新 Docker。

1、更新apt包索引并安装依赖包以允许apt通过 HTTPS 使用存储库:

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

2、添加Docker官方的GPG密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3、使用以下命令设置arm版docker稳定存储库。

$ echo \
  "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4、更新apt包索引,安装最新版本的Docker和containerd:

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

5、查看 Docker 版本确认安装成功:

$ docker version

6、启用自动启动和启动。

# systemctl enable docker
# systemctl start docker

二、安装Docker Compose

1、安装docker compose:

$ sudo apt  install docker-compose
以上会直接安装ubuntu资源库中的docker-compose,但版本比较低,默认为1.25.0-1,要安装最新版看下面操作。

2、安装最新版docker compose(for arm):

安装 arm 版本的 docker compose ,推荐使用linuxserver.io编译好的镜像脚本安装。执行以下两行命令即可:
$ sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose

3、查看docker compose版本确认安装成功:

$ docker-compose --version

三、配置Docker Compose

参考目录树:
dk-app
├── docker-compose.yml
├── mysql  # mysql配置文件及数据库目录,需将容器内配置文件复制过来,并作挂载
│   ├── my.cnf
│   └── data
├── apache2  # apache及php配置文件目录,需将容器内配置文件复制过来,并作挂载
│   ├── apache2.conf
│   ├── php.ini
│   └── sites-available
├── nginx  # nginx配置文件目录,需将容器内配置文件复制过来,并作挂载
│   ├── nginx.conf
│   └── conf.d
│        └── default.conf
├── php  # php配置文件目录,需将容器内配置文件复制过来,并作挂载
│   └── php-fpm.conf
├── log  # 日志目录,需挂载各应用目录才能生效
│   ├── mysql
│   └──apache,php…
├── certs  # ssl证书
└── html  # web目录

1、创建项目目录并进入:

$ mkdir dk-app && dk-app

2、配置docker-compose.yml文件:

$ sudo vim docker-compose.yml

内容如下:

# 指定语法版本
version: '3'
services:
# 构建mysql服务
  mysql:
    image: biarms/mysql:5.7  # supports mysql for arm
    #image: ubuntu/mysql  # only supports mysql8.0 for arm,想装新版可使用此镜像
    container_name: dk_mysql
    restart: always
    ports:
      - 3306:3306
    volumes:
      - mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: my_secret_password
# 构建web服务
  web:
    image: php:7.3-apache
    container_name: dk_web
    #build: php
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - html:/var/www/html
    depends_on:
      - mysql
    links:
      - mysql

参数说明:

• image:建立容器使用的镜像及版本
• container_name:建立容器的名称
• restart: always:当 Docker 重启时,容器自动启动
• build:指定要使用的 Dockerfile 所在目录,Docker Compose 会自动执行 docker build 指令的动作
• ports: [hostPort]:[ContainerPort]:设定端口映射,即主机对外端口映射到容器内的端口
• volumes: [hostPath]:[containerPath]:将项目中的目录挂载到容器中指定的工作目录
• depends_on:依赖的服务
• environment:设定环境变量

3、运行服务:

$ sudo docker-compose up -d

启动或重启所有服务,在 yml 文件所在目录下运行该命令(加 -d 选项后台启动)即可。首次执行命令将拉取 service 节点下配置的镜像,然后安装容器,启动服务。

4、测试服务:

1)测试apache及php:

创建web项目目录及测试文件:
$ mkdir html
$ sudo echo "<h2>Hello World</h2>" > html/index.html
$ sudo echo "<?php phpinfo(); ?>" > html/phpinfo.php

在浏览器中分别访问 server_ip 和 server_ip/phpinfo.php,将会看到 Hello World 及 phpinfo 的页面信息。

2)测试mysql:

进入mysql容器:
$ sudo docker-compose exec mysql bash

登录mysql查看版本:
# mysqladmin -uroot -p version

退出容器:
# exit

5、查看当前运行的服务:

# docker-compose ps

后记:

以上只是简单的lamp环境搭建,安装php扩展,优化apache、php、mysql配置,绑定域名安装ssl证书这些gooogle一下,自己就操作就可以了。

默认分类 | 静态网址 | 发表评论 | 引用 (0)

centos7下优化Apache2.4的内存占用率

laotu | 2021/06/25, 13:48

centos7下假设apache2.4的web服务器,经常出现内存跑满的情况,导致网站访问缓慢,开始以为是mysql的锅,以为是修改引擎模式所致。后来通过top命令查看到原来是apache的进程跑满内存了。

通过查阅资料,发现可以通过对apache的MPM模式下的event参数修改来对内存占用进行优化。

但在我的实践中,其实还可以更简单的操作。步骤如下:

1、检查Apache安装使用的MPM模式,操作命令:

# httpd -V

在输出结果中查看Server MPM:条目即可,Apache提供prefork、worker、event三种不同的MPM模式,目前最新版默认选择event。通过编辑/etc/httpd/conf.modules.d/00-mpm.conf配置文件可以在三个模式之间切换。

2、复制event配置文件

MPM模式的配置文件要生效需要复制到/etc/httpd/conf.d目录下:

cp /usr/share/doc/httpd-2.4.48/httpd-mpm.conf /etc/httpd/conf.d

3、修改event的参数

然后,可以根据自己服务器及网站的需求,对event模式的参数进行修改,如编辑配置文件:

vim /etc/httpd/conf.d/httpd-mpm.conf

<IfModule mpm_event_module>
StartServers                 3 #默认启动进程数
MinSpareThreads             75 #最小线程
MaxSpareThreads            250 #最大线程
ThreadsPerChild             25 #最大子线程数
MaxRequestWorkers         400 #最大请求数量
MaxConnectionsPerChild   200 #最大连接次数,超过后释放线程
</IfModule>

主要将MaxConnectionsPerChild参数值由0改为200。目的用于控制子进程的最大连接数,超过就自动释放。

service httpd reload

这样,在重新加载apache并使event模式默认参数生效后,apache占用内存的情况就已经大为改观了。这时候再访问网站前后台,就不会再有卡顿的问题了。

服务器内存占用优化效果见下图:

优化内存占用

这是两台机子优化内存前后的对比图。

4、关于event模式的更多参数及说明,可以查看官方文档:http://httpd.apache.org/docs/2.4/mod/event.html。

默认分类 | 静态网址 | 发表评论 | 引用 (0)

windows10搭建WAMP环境

laotu | 2021/04/13, 11:39

Windows10(X64)安装apche2.4+php7.3+mysql5.7

一、安装Apache 

1.Apache官方网站只提供了源文件,可以在http://www.apachelounge.com/download/选择编译好的win64-VS16版httpd-2.4.46-win64-vs16.zip 下载。将Apache压缩包解压到指定的安装目录,"d:/wamp/apapch24"

2.编辑apache配置文件d:/wamp/apapch24/conf/httpd.conf文件,修改如下:

Define SRVROOT "c:/Apache24"  //修改为Apache的安装目录:Define SRVROOT "d:/wamp/apache24"

DocumentRoot "${SRVROOT}/htdocs"  //网站根目录可改为指定目录如:DocumentRoot "d:/www"

<Directory "${SRVROOT}/htdocs">  //网站根目录可改为指定目录如:<Directory "d:/www">

Options Indexes FollowSymLinks  //删掉Indexes可以禁止list目录下的文件

DirectoryIndex index.html //加入php后缀 index.htm index.php

3.设置环境变量

右键点:我的电脑-属性-高级系统设置-高级-环境变量-系统变量,选择编辑“Path,然后在新建中加入Apache的安装目录D:\wamp\Apache24\bin,点击确定即可。

或者以管理员身份运行Windows PowerShell执行:

>$Env:path=$Env:Path+";D:\wamp\apache24\bin"

>$env:path  //查看pach的值

4.启动Apache,以管理员身份运行PowerShell(需要进去apache安装目录)或cmd,命令行下输入:

>httpd -k install   (写入服务)

>httpd -k start (开启)

>httpd -k stop (停止)

>httpd -k restart (重启)

(也可以打开d:/wamp/apache24/bin/ApacheMonitor.exe重启Apache)

4.打开浏览器,输入http://127.0.0.1  看到"It Works",说明Apache已经启动

5.卸载apache

>httpd -k stop (停止)

>httpd -k uninstall (卸载)

二、安装php

1.官网http://windows.php.net/download/,选择VC15 x64 Thread Safe线程安全版php-7.3.27-Win32-VC15-x64.zip下载。解压到指定的安装目录,如:"d:\wamp\php73"

也可以下载其他php版本https://windows.php.net/downloads/releases/archives/

2.修改PHP配置文件

d:/wamp/php73/php.ini-distphp.ini-development复制一份并重命名为php.ini,编辑如下:

; extension_dir = "ext"  //修改为 extension_dir = "d:/wamp/php73/ext"

#开启php需要的扩展。只要将;extension前的分号去掉即可。如开启常用扩展:

extension=php_bz2

extension=curl

extension=gd2

extension=mbstring

extension=mysqli

extension=openssl

extension=pdo_mysql

#其他如opcache看自己需要开启。

注:php.ini-distphp.ini-development用于开发,php.ini-recommendedphp.ini-production用于生产。前者是为开发环境推荐的,允许调试、少占资源的原则,后者是为实际知上线后的产品环境推荐的,禁止报错、提高性能的原则。

3.apache支持php,打开apache配置文件Apapch24/conf/httpd.conf,修改如下:

1)添加index.php/index.htm为目录默认访问文件:

<IfModule dir_module>

    DirectoryIndex index.html index.php index.htm

</IfModule>

2)添加PHP模块。httpd.conf配置文件末尾添加:

AddType application/x-httpd-php .php

#LoadModule php5_module "d:/wamp/php52/php5apache2_2.dll"

#PHPIniDir "d:/wamp/php52"

#LoadFile "d:/wamp/php52/libmysql.dll"

#LoadFile "d:/wamp/php52/libmcrypt.dll"

#LoadModule php5_module "d:/wamp/php54/php5apache2_2.dll"

#PHPIniDir "d:/wamp/php54"

#LoadModule php5_module "d:/wamp/php55/php5apache2_4.dll"

##php版本5.4时只能运行在apache2.432位版本下

#PHPIniDir "d:/wamp/php55"

#LoadModule php5_module "d:/wamp/php56/php5apache2_4.dll"

#PHPIniDir "d:/wamp/php56"

#LoadModule php7_module "d:/wamp/php70/php7apache2_4.dll"

#PHPIniDir "d:\wamp\php70"

LoadModule php7_module "d:/wamp/php73/php7apache2_4.dll"

PHPIniDir "d:\wamp\php73"

4. 重启apacheApapch24/htdocs目录下新建内容<?php phpinfo(); ?>phpinfo.php文件,在浏览器中访http://localhost/phpinfo.php,如果出现php版本及配置信息,就表示php已经安装成功。

也可以查看php版本:

>php -v

5.php加入系统环境变量

右键点:我的电脑-属性-高级系统设置-高级-环境变量-系统变量,选择编辑“Path,然后在新建中加入php的安装目录,如d:\wamp\php73,点击确定就可以了。

--------------------------------------------------

1.php5.2支持32位的Apache2.0和Apache2.2;

2.php5.3、php5.4支持32位的Apache2.2和Apache2.4;

3.php5.5开始只支持Apache2.4,选择对应32位或64位即可;

4.apachelounge网站有针对Apache2.4支持php5.2/5.3/5.4php5apache2_4.dll扩展文件;

下载地址:https://www.apachelounge.com/download/additional/

注意:小于php5.5版本只有32位,故只能安装32位的apache2.4,且需安装VC9(Visual C++ 2008)

5.另外可使用fastCGI模块在Apache 2.4上运行从4.3.x7.2.x的所有PHP版本,具体可自行配置。

6.或者可以配置PHP-FPM 模式加载多个php版本 

--------------------------------------------------

三、安装mysql

1、在mysql官网https://downloads.mysql.com/archives/community下载mysql-5.7.32-winx64.zip解压到指定的安装目录,如"d:/wamp/mysql57"

2.设置环境变量PATH,右键“我的电脑-高级系统设置-环境变量-系统变量-path”,双击编辑将mysql 安装目录D:\wamp\mysql57\bin加入path中。

3、右键点击windows10右下角开始菜单,选择以管理员运行powershell,命令行依次输入以下:

4、初始化mysql

>  .\mysqld --initialize --console

记下运行结果中随机生成的root密码,方便后期修改root密码。root@localhost: W/62jqidawwN

5、安装mysql服务:

> .\mysqld --install

6、启动mysql服务:

>net start mysql

7、登录、修改mysql密码:

>mysql -uroot -p

输入初始化的root密码

mysql>ALTER USER 'root'@'localhost' identified by '123456' PASSWORD EXPIRE NEVER;

mysql>flush privileges;

8开启phpmysql扩展,支持php连接mysql

编辑d:/wamp/php72/php.ini,将extension=mysqliextension=pdo_mysql前面的分号去掉后,重启apache

>httpd -k restart

--------------------------------------------------for mysql5.6

1.mysql安装目录下my-default.ini复制一份重命名为my.ini

2.输入 mysql -u root -p登录mysql,初始安装密码为空,直接回车即可。

3.设置root密码

mysql>use mysql;

mysql>update user set password=password('your password') where user='root';

mysql>flush privileges;

--------------------------------------------------

4.修改root密码

打开d:\wamp\mysql57\my.ini,在[mysqld]下添加skip-grant-tables”保存后,重启登录mysql

>net stop mysql

>net start mysql

>mysql -u root -p

Enter password:不用输入密码,直接回车后,输入:

>use mysql;

>update user set authentication_string=password('123456') where user='root';

操作完成记得把my.ini文件中的skip-grant-tables删掉或注释掉。

--------------------------------------------------

五、卸载MySQL

1、关闭mysql服务:以管理员身份运行cmd,执行命令:net stop mysql

2、卸载mysql服务:在mysql\bin目录下输入命令:mysqld -remove [服务名](或mysqld remove

3、删除mysql安装目录文件

4、删除注册表信息

清除注册表中的该MySQL服务,有几个地方:

aHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL目录删除

bHKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL目录删除

cHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL目录删除

注册表中的ControlSet001ControlSet002不一定是001002,可能是ControlSet005006之类,删除的时候都删除就可以 。

5、关键:这里还有MySQL的文件必须要删除,C:\Documents and Settings\All Users\Application Data\MySQL

(注意:Application Data这个文件夹是隐藏的,需要打开个文件夹选择菜单栏 工具文件夹选项查看隐藏文件和文件夹 一项选上 显示所有文件和文件夹 确定 )

以上5步完成,重启 OK!再次安装吧

六、常见问题

1.我的电脑-管理-计算机管理-事件查看器-Windows日志-应用程序:查看详细报错信息。

参考文档

1.Mysql解压版的安装和卸载及常见问题www.echojb.com/mysql/2016/11/19/263354.html

2.Windows下面安装和配置MySQL(5.6.20)http://blog.csdn.net/liujianminghero/article/details/38521359

默认分类 | 静态网址 | 发表评论 | 引用 (0)

windows10安装mysql8

laotu | 2021/04/08, 11:22

一、下载mysql

1、下载mysql

mysql最新版本下载地址:https://dev.mysql.com/downloads/mysql/

mysql存档旧版下载地址:https://downloads.mysql.com/archives/community

2、解压mysql

将下载的mysql-8.0.22-winx64.zip文件解压到指定的目录并重命名,如:D:\wamp\mysql80,即为mysql的安装目录。

二、安装mysql

1、设置PATH环境变量,右键“我的电脑-高级系统设置-环境变量-系统变量-path”,双击编辑将mysql 安装目录D:\wamp\mysql80\bin加入path中。

2、右键点击windows10右下角开始菜单,选择以管理员运行powershell,命令行进入到mysql的安装目录:

> cd d:\wamp\mysql80\bin

3、初始化mysql:

>  .\mysqld --initialize --console

记下运行结果中随机生成的root密码,方便后期修改root密码。root@localhost: W/62jqidawwN

4、安装mysql服务:

> .\mysqld --install

5、启动mysql服务:

>net start mysql

6、登录、修改mysql密码:

>mysql -uroot -p

输入初始化的root密码

mysql>ALTER USER 'root'@'localhost' identified by '123456' PASSWORD EXPIRE NEVER;

mysql>flush privileges;

说明:mysql8.0开始密码认证插件默认为“caching_sha2_password”。但只有php7.1.20、7.1.21、7.1.22、7.2.8、7.2.9、7.2.10及php7.4以上版本才支持。除此,需要将mysql8.0的密码认证插件改为“mysql_native_password”。

mysql>ALTER USER 'root'@'localhost' identified with mysql_native_password by '123456';

mysql>flush privileges;

或者编辑mysql配置文件,更改默认的身份认证插件。在[mysqld]下添加:

default_authentication_plugin=mysql_native_password

7、开启php的mysql扩展,支持php连接mysql:

编辑d:/wamp/php72/php.ini,将extension=mysqli和extension=pdo_mysql前面的分号去掉后,重启apache:

>httpd -k restart

8、mysql8导入sql文件需指定字符编码,否则乱码报错:

>mysql -uroot -p --default-character-set=utf8mb4 testdb -e "source d:\test.sql"

如:mysql 8 ERROR 1064 (42000) at line  ': You have an error in your SQL syntax; check the manual that c

9.创建my.ini配置文件,内容如下:

# For advice on how to change settings please see

http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.


[client]

default-character-set = utf8mb4


[mysql]

default-character-set = utf8mb4


[mysqld]

# basedir = d:\wamp\mysql80

# datadir = d:\wamp\mysql80\data

# port = 3306

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_bin

init_connect = 'SET NAMES utf8mb4'

innodb_buffer_pool_size = 128M


join_buffer_size = 128M

sort_buffer_size = 16M

read_rnd_buffer_size = 16M


# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M


# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin


# These are commonly set, remove the # and set as required.

# basedir = .....

# datadir = .....

# port = .....

# server_id = .....


# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

默认分类 | 静态网址 | 发表评论 | 引用 (0)

backup.sh脚本一键自动备份到onedrive实操

laotu | 2021/04/06, 13:55

backup.sh脚本可以在vps或云服务器中快速、定期备份网站文件及数据库资料。以下为centos7中备份网站目录及mysql数据库资料的实际操作。

一、backup.sh脚本的主要功能

1、支持 MySQL/MariaDB/Percona 的数据库全量备份或选择备份;

2、支持指定目录或文件的备份;

3、支持加密备份文件(需安装 openssl 命令,可选);

4、支持上传至 Google Drive、Onedrive(需先安装 rclone 并配置,可选);

5、支持在删除指定天数本地旧的备份文件的同时,也删除 Google Drive 上的同名文件(可选)。

二、安装及配置 rclone

因为backup.sh脚本自动备份到onedrive需要先在centos7服务器上安装并配置rclone,详细步骤参考:

http://lvwo.com/blog/post/292/1517

这里不在赘述。

如果backup.sh脚本自动备份不需要备份到onedrive,可以跳过这一步。

三、backup.sh脚本的安装

1、下载该脚本并赋予执行权限

# wget --no-check-certificate https://github.com/teddysun/across/raw/master/backup.sh

# chmod +x backup.sh

2、修改backup脚本配置文件

# vim /root/backup.sh

根据自己的数据修改相关配置参数,主要修改如下,其他参数选择默认即可:

# 加密FLG,true 为加密,false 为不加密,默认是加密:
ENCRYPTFLG=true

# 加密密码,重要,务必要修改:
BACKUPPASS="12345test"

#MySQL/MariaDB/Percona 的 root 用户密码:
MYSQL_ROOT_PASSWORD="12345abcde"

# 指定 MySQL/MariaDB/Percona 的数据库名,留空则是备份所有数据库:
MYSQL_DATABASE_NAME[0]="good"
MYSQL_DATABASE_NAME[1]="test"

#需要备份的指定目录或文件列表,留空就是不备份目录或文件:
BACKUP[0]="/data/www/default/test.tgz"
BACKUP[1]="/data/www/default/test/"
BACKUP[2]="/data/www/default/test2/"

#指定多少天之后删除本地旧的备份文件,默认为 7 天:
LOCALAGEDAILIES="7"

#是否删除 Google Drive 、Onedrive或 FTP 上备份文件的 FLG,true 为删除,false 为不删除:
DELETE_REMOTE_FILE_FLG=false

#设置 rclone config 时设定的 remote 名称,务必要指定:
RCLONE_NAME="test"

# 指定备份时设定的 remote 的目录,即挂载绑定的Google Drive 、 Onedrive 的子目录:
RCLONE_FOLDER="testdir"

# 是否开启rclone自动复制备份文件到Google Drive 、 Onedrive:
RCLONE_FLG=true

3、一些注意事项的说明:

1)脚本需要用 root 用户来执行;

2)脚本需要用到 openssl 来加密,请事先安装好;

3)脚本默认备份所有的数据库(全量备份);

4)备份文件的解密命令如下:

openssl enc -aes256 -in [ENCRYPTED BACKUP] -out decrypted_backup.tgz -pass pass:[BACKUPPASS] -d -md sha1

5)备份文件解密后,解压命令如下:

tar -zxPf [DECRYPTION BACKUP FILE]

解释一下参数 -P:

tar 压缩文件默认都是相对路径的。加个 -P 是为了 tar 能以绝对路径压缩文件。因此,解压的时候也要带个 -P 参数。

例如:将备份的文件先解密再解压,命令如下:

cd /opt/backups

openssl enc -aes256 -in test_20210406043653.tgz.enc -out test_20210406043653.tgz -pass pass:abcde12345 -d -md sha1

tar -zxPf test_20210406043653.tgz

这时候备份文件就会解压到/opt/backups/temp目录下面了。

4、运行脚本开始备份

./backup.sh

脚本默认会显示备份进度,并在最后统计出所需时间。

如果你想将脚本加入到 cron 自动运行的话,就不需要前台显示备份进度,只写日志就可以了。

这个时候你需要稍微改一下脚本中的 log 函数。

log() {
echo "$(date "+%Y-%m-%d %H:%M:%S")" "$1"
echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

改为:

log() {
echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

关于如何使用 cron 自动备份,网上有一堆教程,这里以 CentOS 6 来举例说明。

修改文件 /etc/crontab,内容如下:

SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
MAILTO=root
HOME=/root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
30  1  *  *  * root bash /root/backup.sh

以上表示,每天凌晨 1 点 30 分,以 root 用户执行一次 backup.sh 脚本。

注意:

一定要修改其中的 PATH 和 HOME 变量的值。

尤其是 HOME 变量,rclone 命令能否正确执行,是要依赖于其配置文件的。用 root 用户配置的话,其配置文件夹应该是 /root/.config/rclone ,所以要更改 HOME 的值。

最后,欢迎交流和提出意见。

参考:一键备份脚本backup.sh

默认分类 | 静态网址 | 发表评论 | 引用 (0)

filezilla 配置文件的路径及制作绿色版方法

laotu | 2021/04/05, 11:12

一、filezilla 配置文件

1、filezilla 配置文件目录

在windows 10 的系统中默认安装filezilla后,其配置文件默认的保存目录为:%USERPROFILE%\AppData\Roaming\FileZilla。可以备份这个目录,方便日后更换电脑或重做系统时候快速恢复filezilla。其中filezilla.xml用户对filezilla设置参数的配置文件,sitemanager.xml为站点的配置文件。

2、filezilla配置文件导出

更简单的方法是,打开filezilla,点击filezilla菜单栏的”文件“-”导出“,在导出设置弹出框中,可根据需要依次勾选导出站点管理器记录、导出设置、导出列队、导出过滤器后,点击”确定“,会导出一个命名为”FileZilla.xml“的文件。只要在filezilla的新安装环境中,点击filezilla菜单栏的”文件“-”导入“,选择导入这个”FileZilla.xml“文件即可快速恢复站点列表和相关订制设置。

二、订制filezilla 的设置文件目录(绿色版)

1、安装filezilla 后,将FileZilla FTP Client\docs\fzdefaults.xml.example文件复制一份到FileZilla FTP Client目录下,并重命名为fzdefaults.xml。然后编辑fzdefaults.xml文件,大概71行左右为配置文件地址:

<Setting name="Config Location">$SOMEDIR/filezilla/</Setting>

可根据自己需要来修改,如将配置文件写入到filezilla 安装目录下的docs文件夹,就修改保存为:

<Setting name="Config Location">./docs</Setting>
这样点击filezilla菜单栏的”文件“-”导入“,选择导入我们备份的”FileZilla.xml“文件即可快速恢复站点列表和相关订制设置。而FileZilla FTP Client这个安装目录其实就成了一个绿色免安装版的filezilla ,可以任意复制到一处,只要运行其中的filezilla.exe,自己配置和写入的站点列表一样不会少了。

默认分类 | 静态网址 | 发表评论 | 引用 (0)

windows10中用rclone挂载onedrive

laotu | 2021/04/02, 11:48

一、软件下载

1、下载并安装rclone

下载rclone客户端后解压到相应目录如:D:\Program Files\rclone-v1.55.0-windows-amd64并加入到系统变量pach中。这时候通过终端命令行输入rclone --version就可以查看到rclone的版本信息了。

下载地址:

rclone官网 https://rclone.org/downloads/

Github https://github.com/ncw/rclone

2、下载并安装

下载rclone在Windows平台的依赖工具winfsp,直接双击默认安装即可。

下载地址:

winfsp官网 http://www.secfs.net/winfsp/rel/

Github https://github.com/billziss-gh/winfsp/

二、配置rclone

1、在终端命令行中输入命令:rclone config

2、选择new remote菜单输入n后回车,然后输入name,如:test回车。就是后面挂载时用到的名字。

3、然后在出现的云盘列表中选择onedrive的序号(这个序号rclone不同版本会有变化一定要看清),如:26输入回车。

4、在接下来的client_id和client_secret两项都留空直接回车即可。

5、然后是选择onedrive的版本,有全球、美、德、中,根据自己需要选,不确定的就默认全球。输入global或对应数字1回车。

6、接下来的edit advanced config项,选择默认选项no输入n回车。

7、在use auto config项,选择默认项yes输入y回车即可。

8、这时浏览器会弹出onedrive的登录窗口,选择要挂载的onedrive用户登录确认授权即可,完成后浏览器会提示:Success! All done. Please go back to rclone.

9、在接下来的终端命令行中选择对应业务的时候选择OneDrive Personal or Business,即输入onedrive或对应数字1回车即可。

10、在“Found 1 drives, please select the one you want to use”项会列出可挂在的项,选择输入OneDrive对应的数字值0回车。

11、接下来Found drive 'root' of type 'business'…和Yes this is OK (default)两项默认输入y回车后会有如下信息:

Current remotes:

Name                 Type

====                 ====

test                 onedrive

12、至此rclone config设置完成,输入q回车退出。保存的rclone配置文件路径为C:\Users\用户名\.config\rclone\rclone.conf

三、挂载onedrive并设置开机启动

执行onedrive的挂载命令无论是使用cmd命令行还是 git bash 终端。完成后退出终端或重启系统后挂载也会取消。

这时即使是使用rclone.bat设置开机自启动也不可以,因为还是调用的cmd来执行命令。

解决的办法,就是把rclone mount挂载命令,即将onedrive根目录下backup文件夹挂载到本地Q盘的命令语句:

rclone mount test:backup Q: --cache-dir C:\OnedriveTemp --vfs-cache-mode writes

写入保存到一个rclone.vbs文件中,内容如下:

Option Explicit

Dim WMIService, Process, Processes, Flag, WS

Set WMIService = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")

Set Processes = WMIService.ExecQuery("select * from win32_process")

Flag = true

for each Process in Processes

    if strcomp(Process.name, "rclone.exe") = 0 then

        Flag = false

        exit for

    end if

next

Set WMIService = nothing

if Flag then

    Set WS = Wscript.CreateObject("Wscript.Shell")

    WS.Run "rclone mount test:backup Q: --cache-dir C:\OnedriveTemp --vfs-cache-mode writes", 0

end if

其中:

test:为前面rclone config中remote设置的name。

backup 为onedrive中的文件夹,可根据需要自行设置。

Q:  windows本地挂载盘符,不要和本地的C盘、D盘等重复。

C:\OneDriveTemp 为本地缓存目录,可根据需要自行设置。

然后我们将rclone.vbs文件放到windows系统启动项目录下(在资源管理器地址中输入

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup即可)

现在,双击运行rclone.vbs后,在电脑中就会看到挂载成功的Q盘了,这时可以在本地和onedrice快速上传下载文件了。往里面复制文件就是上传,从里面复制文件到其它盘就是下载。当然速度要比onedrive客户端快很多。

至此,onedrive磁盘的挂载完成,因为写入到了系统启动项,也不用担心重启电脑onedrive挂载盘会消失了。

磁盘挂载方法参考的simplove的blog,地址为https://simplove.me/archives/1765,在此表示感谢!

默认分类 | 静态网址 | 发表评论 | 引用 (0)

centos7用rclone挂载onedrive

laotu | 2021/04/01, 21:05

一、windows本机操作

1、下载并安装rclone

在rclone官网https://rclone.org/downloads/ 下载rclone客户端后解压到相应目录如:

D:\Program Files\rclone-v1.55.0-windows-amd64并加入到系统变量pach中。

2、获取token信息

打开cmd运行如下命令:

rclone authorize "onedrive"

浏览器会弹出页面,选择onedrive对应的微软帐户登录,然后进行勾选授权请求的确认,成功后会提示:

Success! All done. Please go back to rclone.

这时候cmd命令行中已经返回了token信息。将token信息复制保存后备用,就是包括两个大括号{…………}在内的内容。

二、centos服务器端操作

1、安装rclone命令:curl https://rclone.org/install.sh | bash

2、配置rclone命令:rclone config

1)选择new remote菜单输入n后回车,然后输入name,如:test回车。就是后面挂载时用到的名字。

2)然后在出现的云盘列表中选择onedrive的序号,如:26输入回车。

3)在接下来的client_id和client_secret两项都留空直接回车即可。

4)然后是选择onedrive的版本,有全球、美、德、中,根据自己需要选,不确定的就默认全球。输入global或对应数字1回车。

5)接下来的edit advanced config和use auto config两项都选择输入n回车即可。

6)然后在result项粘贴上在本机windows上得到的token信息回车。

7)在接下来选择对应业务的时候选择OneDrive Personal or Business,即输入onedrive或对应数字1回车即可。

8)在 Found 1 drives, please select the one you want to use 项会列出可挂在的项,选择输入OneDrive对应的数字值0回车。

9) 接下来 Found drive 'root' of type 'business'…和Yes this is OK (default) 两项默认输入y回车即可。最后出现如下信息:

Current remotes:

Name                 Type

====                 ====

test                 onedrive

10)至此rclone config设置完成,输入q回车退出。

2、挂载onedrvice

1)在centos下rclone挂载onedrive需要依赖fuse模块,先安装fuse命令:yum -y install fuse

2)在centos创建挂载目录,如:mkdir /home/odbak

3)执行rclone mount挂载命令

rclone mount格式:

rclone mount MountName:RemoteDir LocalDir --options

参数说明:

MountName:挂载名称,为rclone config中new remote创建的name。如test;

RemoteDir:OneDrive远程挂载路径,可以选择根目录或子目录。如/backup;

LocalDir:centos本地挂载路径。如/home/odbak(需挂载前创建);

--options:挂载命令的可选参数。如:

后台运行参数:--daemon

rclone mount参考:https://rclone.org/commands/rclone_mount/

参考实例:

rclone mount test:backup /home/odbak --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon

4)通过df -h 命令可以查看到OneDrive挂载点,说明挂载成功。这时候在 /home/odbak 目录下新建文件,稍后即可自动同步到 OneDrive 了。

5)卸载命令: fusermount -qzu /home/odbak

6)设置开机自启挂载

创建vim /usr/lib/systemd/system/rclone.service

编辑内容为:

[Unit]

Description = rclone

Requires=network.target

[Service]

User = root

ExecStart = /usr/bin/rclone mount test:backup /home/odbak --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

Restart = on-abort

[Install]

WantedBy = multi-user.target

然后保存文件退出后运行:

systemctl enable rclone

systemctl start rclone

现在已经可以开机自启,并通过服务管理 rclone 挂载了。

参考:

https://mengniuge.com/centos-rclone-onedrive.html

https://amagi.yukisaki.io/article/1c58acbb-21e4-45df-aa13-cc7614ae9bd6/

默认分类 | 静态网址 | 发表评论 | 引用 (0)

Dreamweaver正则表达式汇总

laotu | 2008/09/01, 04:41

用好了Dreamweaver的正则表达式查找替换功能,可以大大的加快我们的工作效率!文后有我搜集整理的Dreamweaver正则表达式应用实例供大家参考。

DW帮助中关于正则表达式的部分

正则表达式是以文本描述字符组合的模式。在代码搜索中使用它们有助于描述一些概念,例如“以‘var’开始的行”和“包含数字的属性值”。有关搜索的更多信息,请参见搜索和替换标签和属性。

下表列出了在正则表达式中使用的特殊字符、其含义和用法示例。若要搜索包含该表中某一特殊字符的文本,请在特殊字符前面附加一个反斜杠,令其“转义”。例 如,若要在 some conditions apply* 短语中搜索实际的星号,您的搜索模式应类似于:apply\*。如果您没有令星号转义,您将找到“apply”的所有匹配项(以及“appl”、 “applyy”和“applyyy”的所有匹配项),而不只是后面跟有星号的那些匹配项。

Dreamweaver正则表达式表

字符匹配示例
^ 输入或行的起始部分。 ^T 匹配“This good earth”中的“T”,但不匹配“Uncle Tom’s Cabin”中的“T”。
$ 输入或行的结尾部分。 h$ 匹配“teach”中的“h”,但是不匹配“teacher”中的“h”
* 0 个或多个前置字符。 um* 匹配“rum”中的“um”、“yummy”中的“umm”以及“huge”中的“u”
+ 1 个或多个前置字符。 um+ 匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中没有任何匹配项
? 前置字符最多出现一次(即,指示前置字符是可选的)。 st?on 匹配“Johnson”中的“son”和“Johnston”中的“ston”,但在“Appleton”和“tension”中没有任何匹配项
. 除换行符外的任何单字符。 .an 匹配短语“bran muffins can be tasty”中的“ran”和“can”
x|y x 或 y。 FF0000|0000FF 匹配 bgcolor=”#FF0000” 中的“FF0000”和 font color=”#0000FF” 中的“0000FF”
{n} 恰好 n 个前置字符。 o{2} 匹配“loom”中的“oo”和“mooooo”中的前两个“o”,但在“money”中没有任何匹配项
{n,m} 至少 n 个、至多 m 个前置字符。 F{2,4} 匹配“#FF0000”中的“FF”和“#FFFFFF”中的前四个“F”
[abc] 用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于 [abcdef])。 [e-g] 匹配“bed”中的“e”、“folly”中的“f”和“guard”中的“g”
[^abc] 未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。 [^aeiou] 最初匹配“orange”中“r”、“book”中的“b”和“eek!”中的“k”
\b 词边界(例如空格或回车符)。 \bb 匹配“book”中的“b”,但在“goober”和“snob”中没有任何匹配项
\B 词边界之外的任何内容。 \Bb 匹配“goober”中的“b”,但在“book”中没有任何匹配项
\d 任何数字字符。等效于 [0-9]。 \d 匹配“C3PO”中的“3”和“apartment 2G”中的“2”
\D 任何非数字字符。等效于 [^0-9]。 \D 匹配“900S”中的“S”和“Q45”中的“Q”
\f 换页符。  
\n 换行符。  
\r 回车符。  
\s 任何单个空白字符,包括空格、制表符、换页符或换行符。 \sbook 匹配“blue book”中的“book”,但在“notebook”中没有任何匹配项
\S 任何单个非空白字符。 \Sbook 匹配“notebook”中的“book”,但在“blue book”中没有任何匹配项
\t 制表符。  
\w 任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。 b\w* 匹配“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black”
\W 任何非字母数字字符。等效于 [^A-Za-z0-9_]。 \W 匹配“Jake&Mattie”中的“&”和“100%”中的“%”
Control+Enter 或 Shift+Enter (Windows)、 或者 Control+Return 或 Shift+Return 或 Command+ Return (Macintosh) 回车符。确保如果没有使用正则表达式,则在搜索时取消对“忽略空白差别”的选择。请注意,这匹配特定字符,而不是一般意义上的换行符;例如,它不匹配
标签或
标签。回车符在“设计”视图中显示为空格而不是换行符。
 

使用括号在正则表达式内分隔出以后要引用的分组。然后在“替换”域中使用 $1、$2、$3 等来引用第一个、第二个、第三个和更后面的括号分组。

注意:在“查找内容”文本框中使用 \1、\2、\3 等(而不是 $1、$2、$3)来引用正则表达式中更早的括号分组。

Dreamweaver正则表达式应用实例

1. 通过搜索 (\d+)\/(\d+)\/(\d+) 并用 $2/$1/$3 替换它,可以在由斜杠分隔的日期中交换日和月(因此可以在美国样式日期和欧洲样式日期之间进行转换)。

2. 调整abc的排序并插入内容,应用(ab)(c) $2-$1结果就会得到 c-ab

3. 用[\w\s\S]+替换任意字符,如:
<script type="text/javascript" src="http://www.blogger.com/[\w\s\S]+zh-CN.js"></script>

4.过滤替换,如:将([\w]+)/([a-z]+)/([0-9]+)替换为$1/$3

技术转载 | 静态网址 | 发表评论 | 引用 (0)

.htaccess文件在apache中的设置应用

laotu | 2007/06/17, 05:43

通过.htaccess文件设置域名访问目录默认文件

在.htaccess文件中添加代码如下:
DirectoryIndex default.php index.php index.html index.htm

将默认的文件名或者文件类型放在第一位即可。

301重定向正则表达式实例应用

如果想将domain.com域名下的所有url转到www.domain.com下,规则如下:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

但实际用到的301转向并不是如此简单的应用,诸如程序调整目录,文件命名规则的改变,就需要用到正则表达式来设置相关的301重定向了,几个简单的301重定向正则表达式的例子如下:

RewriteRule ^(.*?)(\/\d.*)$ $1_bing$2  [R,L]
RedirectMatch ^/archiver/(.*)$ /bbs/archiver/$1 [L]
RedirectMatch ^/chrome/([a-zA-Z]+)/(.*).html$ /chrome/$1-$2.html [L]
RedirectMatch ^/msn/([a-z]+)/(\d{4})([0-9]+).html$ /live/$1/2009$3.html [L]


([a-z]+)表示多位的小写英文字母。
([a-zA-Z]+)表示多位的大小写英文字母。

([0-9])表示单个的阿拉伯数字;
([0-9]{1,2})表示两位的阿拉伯数字;
([0-9]+)表示多位的阿拉伯数字;

(\d)同上一个。
(\d{4})表示多位的阿拉伯数字的前四位数字。
(\b)表示单词的开始或结束; (\w)表示任意的字母或数字或下划线或汉字;
(\s)表示任意的空白符;

(.*)表示任意字符。

redirect 301 /go/search.htm /data/google.html
redirect permanent /go/search.htm /data/google.html
其中redirect permanent和redirect 301应用效果相同。

更多正则表达式的内容看这里吧http://zh.wikipedia.org/wiki/正则表达式
月光博客自己总结的常用正则表达式http://www.williamlong.info/archives/433.html

默认分类 | 静态网址 | 发表评论 | 引用 (0)

SQL语句实例汇总

laotu | 2007/03/26, 13:43

改变mysql数据库表字段顺序的SQL语句

调整mysql数据库中表的字段顺序,如表名为tab_test,将test1字段,调整到test2字段的后面,则执行语句如下:
ALTER TABLE `tab_test` CHANGE `test1` `test1` VARCHAR( 10 ) AFTER `test2` ;
其中,VARCHAR( 10 ) 为test1字段的类型。

直接替换mysql数据库中某字段中的特定字符的sql语句:

UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str');

其中:
table_name —— 表的名字
field_name —— 字段名
from_str —— 需要替换的字符串
to_str —— 替换成的字符串

目的是为了直接用sql操作数据库修改字段中的某些字串!

默认分类 | 静态网址 | 发表评论 | 引用 (0)

恭喜!

laotu | 2007/03/25, 12:09

如果你可以看到这篇文章,表示注册过程已经顺利完成。现在你可以开始blogging了!

默认分类 | 静态网址 | 评论 (1) | 引用 (0)