作者: admin

  • 关于css3的background背景属性

    学习background是基础,但是我相信很多人都没把它玩好,直接上干货。

    单图片

    background:#ccc url("images/gift_bot.png") no-repeat fixed 10px 50px/90% auto;
    
    10px 50px : 这个是表示距离左边的距离10px,距离顶部距离50px,也可以用%表示,也支持负数-10px
    90% auto  : 表示图片大小,宽90%  高自适应

     

    对于图片定位的参数设置很有学问,上面默认设置的10px 50px都是从左边和顶部开始的,如果我们需要从右边、底部开始呢,我们可以设置如下:

    默认图片定位:background:#ccc url("images/gift_bot.png") no-repeat fixed left 10px top 50px/90% auto;
    
    定位图片从右边、底部开始算距离:background:#ccc url("images/gift_bot.png") no-repeat fixed right 10px bottom 50px/90% auto;

     

     多图片

    background:url("images/gift_bot1.png") no-repeat left 50% top 95%/90% auto,
               url("images/gift_bot2.png") no-repeat right 50% bottom 95%/90% auto, 
               #fff url("images/gift3_bg.png") no-repeat 50% 100%/100% auto

     

     https://sdeno.com/book/css/properties/background/background.htm

     

    混合 background 多图片 混合

    sd

    http://web.jobbole.com/93479/

  • 代码对比比较Beyond Compare 4

    代码 比较 代码 冲突

    代码对比工具Beyond Compare 4

    BeyondCompare Pro 4.2.6.23150 x64 绿色无需安装

    或者

    链接备上 https://www.lanzous.com/i3xuvtg 密码:5bvj

  • ubuntu开启https

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

     

    <IfModule mod_ssl.c>
        <VirtualHost _default_:443>
            ServerAdmin admin@example.com
            ServerName your_domain.com
            ServerAlias www.your_domain.com
            DocumentRoot /var/www/html
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
            SSLEngine on
            SSLCertificateFile /etc/apache2/ssl/apache.crt
            SSLCertificateKeyFile /etc/apache2/ssl/apache.key
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </Directory>
            BrowserMatch "MSIE [2-6]" \
                            nokeepalive ssl-unclean-shutdown \
                            downgrade-1.0 force-response-1.0
            BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        </VirtualHost>
    </IfModule>

     

     

  • ubuntu下的lamp安装搭配

    lamp就是Linux+Apache+Mysql+Perl/PHP/Python

    关于环境的安装可以参考:

    推荐安装顺序

    手动安装顺序:
    1. 安装Apache 参考:《ubuntu安装配置apache
    2. 安装MySQL              《ubuntu安装mysql
    3. 安装PHP                   《ubuntu安装php 7.0
    4.安装phpmyadmin    《ubuntu安装配置phpmyadmin
    5. 配置Apache、PHP
    是为了造成一些不必要的麻烦

    —————————————————————–

    这里主要介绍一些细节上的介绍。

    用apt-get安装的软件一般都在/etc目录下
    apache /etc/apache2
    mysql /etc/mysql
    php /etc/php/

    检查apache是否加载到php模块
    当apache要和php配合使用时,apache必须要加载php的模块才能指挥php工作,这里需要到libphp7.0.so的模块,
    版本号根据安装php的为准。可以使用以下命令检查apache是否加载了php模块
    cat /etc/apache2/mods-enabled/php7.0.load
    如果返回有 “LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.so”
    类似的字样说明已经安装成功了

    apache

    配置文件一般在 /etc/apache2/

    apache2.conf 是主入口,其中也包含了以下4个重要目录
    mods-available/ apache中的存放所有模块的目录
    mods-enabled/ apache已经加载模块的目录 ,加载方式使用软链接方法调用
    ,例如sudo ln -s /mods-available/php7.0.load /mods-enabled/php7.0.load

    sites-available/ 虚拟主机
    sites-enabled/

    域名绑定
    情景,有两个域名一个是 jquery.xgllseo.com avalon.xgllseo.com
    目录分别是 /var/wwwroot/jquery /var/wwwroot/avalon
    1,进入到/etc/apache2/sites-available/目录中。
    2,将default复制分别命名为 jquery avalon
    3,编辑jquery avalon这两个文件,分别添加ServerName jquery.xgllseo.com和修改目录/var/wwwroot/jquery
    4,进入到 sites-enabled/目录创建软链接,sudo ln -s ../sites-available/jquery jquery_ok
    意思就是在sites-enabled/目录中创建了一个软链接为jquery_ok
    5,重启apache。 sudo service apache2 restart

    数据迁移
    情景:数据用的久了就变大,硬盘容量有限要把数据重新换到另一个更大的硬盘中。
    mysql 核心配置文件 /etc/mysql/my.cnf
    mysql数据库默认存放目录在/var/lib/mysql/

    1,关闭mysql sudo service mysql stop
    2,进入到/var/lib/目录输入 ll ,这样查看mysql目录权限和用户组,例如目录/var/newdata
    3,在你要迁移的硬盘中同样创一个目录并且 权限和用户组都和以前的一样
    给新目录设置用户组 sudo chown -vR mysql:mysql /var/newdata/
    设置目录权限 sudo chmod -vR 700 /var/newdata/
    4, 复制数据并且文件权限也一样,切换到root用户 sudo cp -av /var/lib/mysql/* /var/newdata/
    5,修改/etc/mysql/my.cnf,将默认数据库目录路径修改成现在新的目录路径
    搜索找到datadir 的路径
    6,修改/etc/apparmor.d/usr.sbin.mysqld
    搜索/var/lib/mysql/ r 和 /var/lib/mysql/** rwk
    修改成 /var/newdata/ r 和 /var/newdata/** rwk
    7,重启sudo service apparmor reload 和 sudo service mysql start
    8,测试是否迁移成功,进入到数据库创建一个数据库,在到/var/newdata/查看是否有新数据库的文件,如果有说明成功了。
    9,可以将原来数据删除,rm -rvf /var/lib/mysql/ (其实我不太推荐)

    为mysql创建新用户 和 允许远程登录mysql
    情景:给其他程序员设置新的mysql账户,一个root帐号同时给几个人用不太好。
    在ubuntu中默认只给本机127.0.0.1访问的不能给远程外网用户访问。
    解决这两个问题方法如下:
    1,修改/etc/mysql/my.cnf
    搜索bind-address = 127.0.0.1
    将其注视掉 #bind-address = 127.0.0.1
    2,利用phpmyadmin,进入管理mysql界面。
    点击“用户”—–“添加用户” username :自定义 Host : % 密码 : 自己设置
    “全局权限”, 如果希望新用户有root一样权限那就打勾选上“全选”
    点击“用户”—点击“刷新载入权限”
    3,重启sudo service mysql restart

  • 什么是服务器集群

    jiqun

    以上图是初级服务器集群
    1台服务器安装nginx
    3台服务器安装同样的apache和php程序
    1台服务器专门写入mysql数据
    3台服务器专门被php读取mysql数据库

    1,假如有1亿用户访问网站输入:https://sdeno.com,nginx那台服务器接受到了用户的请求
    2,nginx随机将请求给了那3台服务器apache php中最闲的一个。
    3,如果有用户注册了新帐号,专门负责写入数据库的mysql就执行
    4,并且同步更新了3台服务器上的mysql。
    5,如果有用户登录或者浏览页面则对应的apache php就会去读取对应的专门读取数据的mysql服务器。

    概括:如果用户访问量大,你不可能都把工作压力都放到同一台服务器上工作吧!所以要适当分压。
    如果在一些巨型服务器中还有:缓存服务器、索引服务器(负责搜索)、中间件,等等会分的很细很细。