一次Macbook pro 按键失灵处理记录

自从mac本因为硬盘损坏拿去维修店更换硬盘并重装macos mojave系统,搁置好一段时间才发现左边的shift键、control键、option键、command键失灵了,尝试官网的重置方法都没有用,正准备淘一个二手键盘更换。直到偶然安装了vmware fushion虚拟机,跑了windows系统发现这几个键是好的,但是切换到OS系统还是没反应。后来确定应该是设置问题,于是将个性与偏好设置中安全与隐私设置里将辅助功能权限赋予输入法,这几个键神奇般的复活了。辛亏没有冲动去买键盘换,不然一定会哭死。

mdf、ldf文件快速导入方法

EXEC sp_attach_db @dbname = '数据库名',
@filename1 = 'C:\Users\Administrator\Desktop\数据库名.mdf',
@filename2 = 'C:\Users\Administrator\Desktop\数据库名 .ldf'

vue打包部署解决页面刷新404的问题

1.Nginx服务器配置:

location ^~/vue {
    alias /data/wwwroot/vue;
    index index.html;
    try_files $uri $uri/ /vue/index.html;
}

2.Apache服务器配置:

开启mod_rewrite模块,设置allowAllOveride All并在项目目录下创建.htaccess文件,内容如下:


  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [

SQLServer通过mdf文件恢复数据库

数据库版本:SQLServer2005

因误删数据库ldf文件,导致数据库无法访问。

恢复步骤:

1、临时拷贝mdf数据库文件到其他目录,删除原数据库app

2、重新创建同名数据库app

3、停止SQLServer服务

4、拷贝原来的mdf文件到SQLServer数据文件目录覆盖现有app.mdf文件。

5、启动SQLServer服务,发现数据库名变成“app(可疑)”

6、关闭外部所有数据库连接。

7、新建查询打开SQL查询窗口

8、执行以下语句切换数据库为紧急模式

ALTER DATABASE app SET EMERGENCY

9、执行以下语句将数据库设置为单用户模式,如果命令一直是执行中,说明数据库还有外部连接,全部关闭后,命令执行成功。

ALTER DATABASE app SET SINGLE_USER

10、执行以下语句进行数据库修复,等待修复完成。

DBCC CheckDB (app, REPAIR_ALLOW_DATA_LOSS)

11、修复成功后,执行以下语句恢复数据库多用户模式

ALTER DATABASE app SET MULTI_USER

12、数据库恢复完毕,测试

php安装fileinfo扩展

环境:CentOS+nginx+php7.0

1、下载扩展包,根据自己php版本下载不同版本的安装包

wget -O php-5.6.25.tar.gz http://cn2.php.net/get/php-7.0.30.tar.gz/from/this/mirror

2、解压

tar -zxvf php-7.0.30.tar.gz

3、进入扩展目录

cd php-7.0.30/ext/fileinfo/

4、执行phpize

/usr/local/php/bin/phpize

5、在扩展目录执行编译配置

./configure --with-php-config=/usr/local/php/bin/php-config

6、编译安装

make && make install

安装完成后可以查看/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/目录下应该有fileinfo.so文件

7、修改php.ini开启fileinfo扩展

vi /usr/local/php/etc/php.ini

找到;extension=...配置区域

添加一行:

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/fileinfo.so

保存后重启php:

service php-fpm restart

如果报如下错误:

Gracefully shutting down php-fpm . done Starting php-fpm [6

make clean

然后再重新执行4~7步骤。

8、查看phpinfo里面会有fileinfo扩展相关参数

 

CI框架在nginx/apache下的伪静态规则配置

CI框架在NGINX下的伪静态规则修改:

1、location

location / {
if (!-e $request_filename) {
rewrite ^/(.)$ /index.php/$1 last;
break;
}
}

location / {

       try_files $uri $uri/ /index.php?$uri&$args;

}

2、location ~ [)$;
fastcgi_param PATH_INFO $fastcgi_path_info;

include fastcgi.conf;
}

 

Apache配置方法:

1、修改httpd.conf,开启rewrite模块

LoadModule rewrite_module modules/mod_rewrite.so

2、将站点配置文件中

AllowOverride None 修改为 AllowOverride All 

3、在站点根目录添加.htaccess文件,内容如下:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|public|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [

IIS7中asp无法读取access数据库

mark:

asp无法读取access数据库也没有报错的情况处理方法:

选择当前站点的应用程序池,右侧点击“高级设置”,双击“启用32位应用程序”切换为“True”,点击确定返回。刷新即可

logrotate实现多站点nginx日志切割

nginx日志默认生成在指定的一个文件日志里,久而久之文件会越来越大不利于查看和管理

目前有以下几个方案可以进行nginx日志的切割:

一、安装修改版本的nginx,可实现日志自动按天记录。不过此方法需要重新编译nginx,不适合现有业务进行操作

二、配置shell脚本,当前网上最普遍的方法。不过此方法一个脚本只支持一个日志的切割,并不适合多个站点的切割。

多个站点日志切割需要逐个配置域名,相应的有python脚本实现方式,也只是将shell脚本改为python脚本格式。

三、logrotate方式切割日志,系统自动执行,可对日志进行压缩,目前认为是最好的方式。

vi  /etc/logrorate.d/nginx

配置如下:

/data/wwwlogs/*nginx.log {   #多个目录可空格隔开 daily                  #每日执行 rotate 31           #保留31个日志 missingok          #跳过不存在的日志 dateext             #以日期为结尾重命名日志文件 compress notifempty sharedscripts postrotate         #只执行一次下面的脚本 [

每天执行的时间由cron管理,测试大部分在凌晨3点左右,时间可在/etc/crontab中修改

增加59 23 * root run-parts /etc/cron.daily即可

测试命令:/usr/sbin/logrotate -d /etc/logrotate.d/nginx

 

查看分割记录cat /var/lib/logrotate.status

CentOS环境PPTP搭建VPN服务器

安装包:

1、下载ppp及pptpd安装包:

wget  http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-14.1.rhel5.x86_64.rpm

# wget  http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm 2、安装ppp及pptpd: 先安装ppp # rpm -ivh  ppp-2.4.4-14.1.rhel5.x86_64.rpm 注:如果系统提示需要安装libpcap-0.9.4,请先下载安装libpcap-0.9.4 安装libpcap-0.9.4: # wget http://vault.centos.org/5.11/os/x86_64/CentOS/libpcap-0.9.4-15.el5.x86_64.rpm # rpm -ivh libpcap-0.9.4-15.el5.x86_64.rpm
最后安装pptpd #rpm -ivh pptpd-1.4.0-1.rhel5.x86_64.rpm 3、配置pptpd: # vi /etc/ppp/options.pptpd 在最后开启日志及DNS服务器地址 #nologfd logfile /var/log/pptpd.log ms-dns 8.8.8.8 ms-dns 8.8.4.4 :wq保存并退出
4、VPN拨号用户配置 # vi /etc/ppp/chap-secrets 配置格式为:拨号用户名    服务器类型   密码    分配IP(为自动分配) 如:user     pptpd    123456     5、设置pptpd服务器IP及客户端分配地址池 localip 192.168.0.1 remoteip 192.168.0.2-254 :wq保存并退出 完成以上步骤,pptpd服务器已配置完成,可以实现拨号连接 6、启动pptpd服务 # service pptpd start 设置pptpd开机自动启动 # chkconfig pptpd on 7、开启服务器系统路由功能,支持包转发 #  vi /etc/sysctl.conf 增加一行,开启IP转发功能  net.ipv4.ip_forward = 1 注释一行,关闭SYN cookie功能 #net.ipv4.tcp_syncookies = 1
:wq保存并退出
8、配置防火墙 参考配置:
nat :PREROUTING ACCEPT [9983

CentOS 6.5安装aria2

由于yum install aria2无法找到安装包,试了好几个源,都找不到,于是自己找了一些地址:

1、下载安装包:

 wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/aria2-1.16.4-1.el6.rf.x86_64.rpm

wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/nettle-2.2-1.el6.rf.x86_64.rpm

wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/nettle-devel-2.2-1.el6.rf.x86_64.rpm

2、安装

安装aria2时会提示

error: Failed dependencies: libnettle.so.4()(64bit) is needed by aria2-1.16.4-1.el6.rf.x86_64
所以,需要先安装nettle-2.2.1,依次执行以下安装命令即可: # rpm -ivh nettle-2.2-1.el6.rf.x86_64.rpm # rpm -ivh nettle-devel-2.2-1.el6.rf.x86_64.rpm # rpm -ivh aria2-1.16.4-1.el6.rf.x86_64.rpm 3、测试(下载百度首页) # aria2c http://www.baidu.com
05/23 00:00:13 [

OSA安装过程中提示运行“install/auto_prepare.sh”安装错误

对于OSA安装过程中进行到如下步骤要求运行install/auto_prepare.sh

OSA

按提示在中断运行install/auto_prepare.sh后提示以下错误

install error! Your script into the path:/dev/pts/0/osa/ctrlphp/install or /dev/pts/0/osa/. exp: /usr/local/osa/auto_prepare.sh or /usr/local/osa/ctrlphp/install/auto_prepare.sh .

经排查为auto_prepare.sh脚本中获取脚本路径出错,修改auto_prepare.sh脚本

将第9行:

INSTALL_PATH=$(dirname $(readlink /proc/$$/fd/255))

更改为:

INSTALL_PATH=$(dirname $(dirname $(pwd)))

然后重新执行脚本即可。

osa_install

Linux下批量查找并执行命令

以批量设置文件夹所有人为例:

find ./ -name html -type d -exec chown -R www-data:www-data {} \;

./表示要查找的目录,此处表示在当前目录下查找

html表示要查找的目录或文件名

-type d 表示只查找文件夹

-exec 命令 {} \; 表示对查找结果要执行的命令

注意:此处{}和\;之间要有空格,否则会报“遗漏 ·-exec·命令”

chown -R www-data:www-data 是要执行的命令,此处指更改目录及其子目录的所有者为www-data

 

 

多域名调用Ueditor配置及上传路径配置

1、多域名调用Ueditor的配置:

默认状态下,会出现如(ueditor Protocols, domains, and ports must match.)的跨域访问错误。
修改ueditor/ueditor.config.js,将URL写成固定值ueditor的路径即可

1111111

2、上传文件路径配置

默认状态下,从编辑器上传的图片都是相对路径。
修改/ueditor/php/config.json,将配置文件中imageUrlPrefix参数全部设置域名前缀。

2222222

 

Apache反向代理配置

1、修改APACHE配置文件httpd.conf

修改加载模块

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

2、修改虚拟目录配置httpd-vhost.conf

ServerName ?www.test.com #设置需要代理的域名 ServerAias ?www.test.com Options MultiViews AllowOverride None Order allow,deny Allow from all ProxyPass / http://192.168.0.2/ ? ?#设置代理目标服务器及访问的目录 ProxyPassReverse / http://192.168.0.2/ ErrorLog "/log/www.test.com-error.log" Transferlog "/log/www.test.com-access.log"

3、重启apache服务器生效

cd /data/apache/bin

./apachectl restart

Apache创建虚拟目录

1、首先查看httpd.conf或/etc/apache2/apache2.conf文件是否开启LoadModule alias_module modules/mod_alias.so模块

修改httpd.conf或者/etc/apache2/mods-available/alias.conf文件:

找到标签,在标签内加上

格式为:Alias 别名 ?路径。即通过http://域名/demo/ 来访问f:/www/下的站点或页面

Alias /demo/ "f:/www/"

Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all

 

重启apache服务生效

关闭SELinux防火墙方法

系统版本:CentOS 6.4

在安装防护应用的时候系统提示“Detected SELinux opening,close and then install!

1、连接服务器后输入命令getenforce查看SELinux运行状态

如果不为disable则为运行中

2、更改启动配置文件

2

vim /boot/grub/menu.lst

3

在编辑器中rhgb quiet 后加上selinux=0,保存并退出。

*vim编辑器使用方法可参照“ubuntu系统下的mysql数据库自动备份”一文

3、输入命令?reboot?重启服务器

4

4、重新连接服务器,并输入getenforce命令查看SELinux运行状态

1

结果显示Disabled说明SELinux已经关闭

帝国CMS忘记后台帐号密码

帐号密码重置方法:

重置帐号为tester ?密码为12346

1.找到phome_enewsuser表

添加一个帐号

usernametester

passwordbbd40c3223cbaac29cd269e49f303b3e ??(由md5(md5('123456').salt)得出)

saltrand

adminclass为空格

groupid1

styleid1

其它默认即可

2.找到phome_enewsuseradd表

添加一条验证问题(设为为无安全问题)

userid为上个步骤中添加帐号的ID

question0

其它默认即可

3.找到/e/config/config.php(帝国7.0版本) /e/class/config.php(7.0之前版本)打开

查看登录认证码

$ecms_config[

进后台重新登录即可。

Ubuntu系统下的Mysql数据库自动备份

1、SSH远程连接至数据库服务器

2、登录Mysql数据库,创建备份用户帐号并赋予权限

切换目录:cd /usr/bin/

连接MYSQL数据库(帐号root 密码123456):mysql -u root -p123456

创建备份用户'backup'密码'sT6pQx8Z'并赋予所有权限:

mysql>grant all on . to backup@localhost identified by 'sT6pQx8Z';

mysql>flush privileges;

提示成功后,输入exit退出mysql连接。

3、修改mysql_backup.sh自动备份脚本内的db_user、db_password和db_host参数保存

4、通过FTP上传mysql_backup.sh脚本到/usr/bin/目录下

脚本下载地址:mysql自动备份脚本

5、在系统根目录下创建mysqlbak文件夹,如果使用其他命名请同时修改脚本内backup_dir参数

6、为/mysqlbak目录和mysql_backup.sh文件赋予权限

chmod 777 /mysqlbak

chmod 777 /usr/bin/mysql_backup.sh

7、创建计划任务

输入命令 crontab -e 编辑计划任务

按键盘“插入insert”按键切换到插入编辑模式,左下角提示“插入”

crontab

光标移动到最下方一行,去掉“#”号,并添加计划任务,格式如下

分钟 ? 小时 ? 日 ? ?月 ? ?星期 ? ?执行的命令

50 ? ? ? ? 1 ? ? ? ? ? ? ? ? ? ? * ? ? ? ?/usr/bin/mysql_backup.sh

以上任务为每天1点50分执行/usr/bin/mysql_backup.sh脚本

编辑完成后先按ESC键,然后按shift+: ?再输入 :wq 保存并退出编辑

输入命令crontab -l 可查看创建的计划任务列表。

crontab02

 

*如果出现no permission错误,则是文件或文件目录权限问题,赋予权限即可

*如果出现no such file or directory错误,则使用utral edit转换脚本文件编码:DOS=>UNIX即可

  • 1
  • 2