rc.local开机自动挂载samba无效问题

远程建立好了samba服务,并且手动挂载ok,但是把挂载命令放到/etc/rc.local里面不能实现开机自动挂载。而在开机后手动运行一下rc.local脚本是可以挂载的。

经过一些试验发现rc.local确实运行到了。但在运行到挂载samba命令时出错,然后直接退出了该脚本。而挂在命令确实是正确的。

原因应该是刚开机不久,运行到rc.local时samba服务还没有完全启动,导致挂载失败。(注意并不是没有启动,/etc/init.d/smb应该是在/etc/rc.local之前执行的。)

解决方法也很简单,就是把挂载命令前加个sleep,等samba服务完全启动ok后再挂载。需要注意的是由于用到了sleep,所以最好让该命令后台运行。如下:

sleep 10s && mount -t cifs //172.16.18.221/221-sdc-nicek /221 -o username=nicek.ni,password=,codepage=cp936 &

如何在Ubuntu 16.04上安装和配置Solr 6

什么是Apache Solr? Apache Solr是一个用Java编写的开源企业级搜索平台,可以让您创建自定义搜索引擎来索引数据库,文件和网站。 它具有Apache Lucene的后端支持。 它可以例如用于在多个网站中进行搜索,并可以显示搜索内容的建议。 Solr使用基于XML(可扩展标记语言)的查询和结果语言。 有可用于Python,Ruby和JSON(Javascript对象符号)的API(应用程序接口)。 Solr提供的其他一些功能包括:
  • 全文检索。
  • 代码段生成和突出显示。
  • 自定义文件订购/排名。
  • 拼写建议
本教程将向您展示如何在Ubuntu 16.04 LTS上安装最新的Solr版本。 这些步骤很可能与以后的Ubuntu版本一起使用。

更新系统

浏览全部

在dokcer中安装Phpmyadmin并与mysql容器连接

首先在docker中搜索可用的镜像

$sudo docker search phpmyadmin

发现镜像后使用docker pull将镜像拉取下来 先建立mysql容器,再建立phpmyadmin容器

$sudo docker run -d -h mysql -v /data/mysql:/var/lib/mysql -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root mysql 
// -h 设定主机名

$sudo docker run --name phpadmin --link mysql:db -p 9998:80 -d phpmyadmin/phpmyadmin
// --link代表容器本容器与mysql连接,并起一个别名为db

访问宿主机的9998端口即可出现phpmyadmin登录界面

若要修改phpadmin的配置文件,默认目录为/www

$sudo docker exec -it phpadmin vi /www/libraries/config.default.php
或者
$sudo docker exec -it phpadmin vi /www/config.inc.php

若需要将phpmyadmin嵌入其他页面,可能需要修改config.default.php中的

$cfg['AllowThirdPartyFraming'] = true; 

 

再用五分钟利用docker升级搭建好php7.0.10服务环境(添加扩展mysql、gd、phalcon)

本文基于《 五分钟利用docker搭建好php7.0.10+nginx服务环境》 对PHP进行扩展升级!

将以下代码保存为一份xxx.sh 并执行,即可扩展mysql、gd、phalcon

#! /usr/bin

PHP_VERSION=7.0.10

docker run --name php \
-v /home/wwwroot:/home/wwwroot \
-v ~/php_config/php.ini:/usr/local/etc/php/php.ini \
-p 9000:9000 \
-d php:{PHP_VERSION}-fpm

docker exec -it php sed -i "s/33/2016/g" /etc/passwd
docker exec -it php sed -i "s/33/2016/g" /etc/group

docker exec -it php bash -c "set -ex \
&& cd ~ \
&& mv /etc/apt/sources.list /etc/apt/sources.list.bak \
&& { \
echo deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib; \
echo deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib; \
echo deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib; \
echo deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib; \
} | tee /etc/apt/sources.list \
&& apt-get update \
&& apt-get install -y git \
libpcre3-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
&& docker-php-ext-install -j(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j(nproc) gd \
&& docker-php-ext-install mysql \
&& docker-php-ext-install pdo_mysql \
&& curl -o /usr/local/etc/php/php.ini https://raw.githubusercontent.com/php/php-src/PHP-{PHP_VERSION}/php.ini-production \
&& git clone -b 2.1.x --depth=1 git://github.com/phalcon/cphalcon.git ~/cphalcon \
&& cd ~/cphalcon/ext \
&& export CFLAGS=\"-O2 -finline-functions -fvisibility=hidden\" \
&& phpize \
&& ./configure --enable-phalcon \
&& make \
&& make install \
&& docker-php-ext-enable phalcon \
&& rm -rf ~/cphalcon"

docker commit -a "technofiend <[email protected]>" -m "install gd、 phalcon、pdo_mysql、mysql extsions" php phalcon:{PHP_VERSION}-fpm

docker rm -f php
docker run --name php \
-v /home/wwwroot:/home/wwwroot \
-v ~/php_config/php.ini:/usr/local/etc/php/php.ini \
-p 9000:9000 \
-d phalcon:{PHP_VERSION}-fpm

docker exec -it php sed -i "s/33/2016/g" /etc/passwd
docker exec -it php sed -i "s/33/2016/g" /etc/group

 

当yum源中没有supervisor的时候安装supervisor的方法

Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7,Python2.7版本环境下,介绍Supervisor的安装与配置步聚: 浏览全部

通过DNS验证方式获取certbot证书

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

主要步骤:

  1. 安装 acme.sh
  2. 生成证书
  3. copy 证书到 nginx/apache 或者其他服务
  4. 更新证书
  5. 更新 acme.sh
  6. 出错怎么办, 如何调试

下面详细介绍.

1. 安装 acme.sh

安装很简单, 一个命令:

curl  https://get.acme.sh | sh

普通用户和 root 用户都可以安装使用. 安装过程进行了以下几步:

  1. 把 acme.sh 安装到你的 home 目录下:
~/.acme.sh/

并创建 一个 bash 的 alias, 方便你的使用: acme.sh=~/.acme.sh/acme.sh

2). 自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.

更高级的安装选项请参考: https://github.com/Neilpang/acme.sh/wiki/How-to-install

安装过程不会污染已有的系统任何功能和文件, 所有的修改都限制在安装目录中: ~/.acme.sh/ 浏览全部

shell版dnspod的ddns更新脚本【LEDE/OPENWRT实例】

依赖:wget

使用步骤:

1、下载https://github.com/anrip/ArDNSPod脚本,放到路由上任意目录,本例为/root/dnspod。

2、修改dns.conf的Token认证为你自己的,添加要更新的域名。

# 安全起见,不推荐使用密码认证
# arMail="[email protected]"
# arPass="123"

# 推荐使用Token认证
# 按'TokenID,Token'格式填写
arToken="12345,7676f344eaeaea9074c123451234512d"

# 每行一个域名
arDdnsCheck "test.com" "www"
arDdnsCheck "test.org" "www"
arDdnsCheck "test.com" "bbs"

3、执行一下命令(注意:脚本需要完整的wget,如没有须先opkg install wget) 浏览全部

Win10安装后必做的优化,解决磁盘100%占用

方法仅供参考:23333

01关闭家庭组

控制面板–管理工具–服务– HomeGroup Listener和HomeGroup Provider禁用。

02关闭磁盘碎片整理、自动维护计划任务

选中磁盘C-属性–工具–对驱动器进行优化和碎片整理–优化–更改设置–取消选择按计划运行。

03关闭Windows Defender(视情况而定)

控制面板–Windows Defender –设置–实施保护-去掉勾和管理员–启用 Windows Defender –去掉勾。

控制面板–管理工具–服务- Windows Defender Service禁用。

04关闭Windows Search

控制面板–管理工具–服务- Windows Search禁用。

05设置好 Superfetch 服务 浏览全部