标签: 阿里云

  • 使用 acme.sh 部署 Let’s Encrypt 泛域名通用证书

    Let’s Encrypt两种域名验证方式

    1. DNS验证:配置一个随机的 TXT 记录来验证
    2. 文件验证:配置一个随机的 URL 地址来验证

    泛域名通用证书只能使用DNS TXT记录验证,acme.sh支持多种dnsapi我使用的是阿里云DNS,可以根据你的域名服务商进行选择支持列表。

    安装 acme.sh

    curl  https://get.acme.sh | sh -s email=my@example.com

    my@example.com 改为你自己的邮箱地址用于接收通知。

    acme.sh自动为你创建定时任务, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。

    配置阿里云AK

    设置临时系统变量

    #你的阿里云AccessKeyId
    export Ali_Key="AccessKeyId"
    #你的AccessKeySecret
    export Ali_Secret="AccessKeySecret"

    颁发证书

    可以进行单域名、多域名、泛域名进行颁发。

    acme.sh --issue --dns dns_ali -d chunblog.com -d *.chunblog.com

    这里会使用dnsapi自动添加TXT记录,进行域名的 DNS 验证,中间会等待 2分钟左右来验证正确性,验证完成后记录会自动删除。

    出现Cert success表示成功 后面会有证书存放路径。

    复制/安装证书

    Nginx

    acme.sh --dns dns_ali -d chunblog.com -d *.chunblog.com\
     --install-cert\
     --key-file /www/cert/chunblog.com/key.pem\
     --fullchain-file /www/cert/chunblog.com/cert.pem\
     --reloadcmd "/etc/init.d/nginx reload"

    参数说明

    –install-cert    将颁发的证书安装到 apache/nginx 或任何其他服务器。

    –key-file    发行/续订后将密钥文件复制到的路径。

    –fullchain-file    发布/续订后将全链证书文件复制到的路径。

    –reloadcmd    发布/更新后重新加载服务器后要执行的命令

    然后修改Nginx配置文件使用 /www/cert/chunblog.com/key.pem、/www/cert/chunblog.com/cert.pem即可

    server
    {
        listen 80;
        listen 443 ssl http2;
        server_name chunblog.com www.chunblog.com;
        index index.php index.html index.htm;
        root /www/chunblog.com;
    
        ssl_certificate    /www/server/panel/vhost/cert/chunblog.com/fullchain.pem;
        ssl_certificate_key    /www/server/panel/vhost/cert/chunblog.com/privkey.pem;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
    
        #禁止访问的文件或目录
        location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
        {
            return 404;
        }
        
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
            error_log /dev/null;
            access_log /dev/null;
        }
        
        location ~ .*\.(js|css)?$
        {
            expires      12h;
            error_log /dev/null;
            access_log /dev/null; 
        }
        access_log  /www/wwwlogs/chunblog.com.log;
        error_log  /www/wwwlogs/chunblog.com.error.log;
    }

    安装acme.sh时已自动创建定时任务,证书到期前会自动更新证书并重载Nginx配置使证书生效。

  • Centos 7改变系统语言为中文

    Centos 7改变系统语言为中文

    最近阿里云在搞活动,春风入手了一台99元一年,配置是1核心 2G内存 1M宽带,安装的Centos 7.4默认的语言是英文,虽然说看英文没有太大的问题。但是就是想把这个系统语言改为中文,要怎么改呢?
    先是用locale命令,看看语言配置。

    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="zen_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=
    

    怎么把”en_US.UTF-8″改成”zh_CN.UTF-8″?赶紧用度娘搜了一下。

    1.临时解决方法

    使用LANG=“zh_CN.UTF-8”,这个命令来实现,不过在重新登录的时候又会变回英文。这个不是长久的方法。

    2.更改系统参数

    如果系统没有中文支持,可以通过网上下载安装中文语言包,使用命令:yum groupinstall Chinese-support

    在网上普遍说的是修改/etc/sysconfig/文件夹里面的i18n这个文件里面的参数,但是呢。我在Centos7同样的路径下面是没有看到有这个文件的。

    经过在网上查找资料发现,Centos 7已经不采用/etc/sysconfig/i18n这一个文件来做配置,而改为使用/etc/locale.conf这个来进行语言配置。

    使用vim命令编辑

    vim /etc/locale.conf

    进入以后只有简单的一句

    LANG="en_US.UTF-8" 这个配置,把"en_US.UTF-8"替换成"zh_CN.UTF-8" 保存退出即可。

    这样子就算是重启进入系统,系统也还是中文的配置界面。

  • 阿里云建立SWAP交换分区脚本

    工具:add_swap.sh   

     

    所有执行的脚本都需要root身份来执行,执行方法:以root身执行命令:bash xxx.sh 

    功能:自动检测系统swap分区大小,交换分区大小不合理则自动新增并挂载上 

    适用系统版本:兼容线上所有linux版本 

    执行方法:以root身执行命令:bash add_swap.sh  执行命令后,稍等片刻即可! 

    解决了什么问题:一键式检测系统swap分区大小,如果低于物理内存的2倍则自动创建一个物理内存2倍大小的swap分区 

    备注:swap不是越大越好,由于磁盘速度相对于内存较为低下,所以大swap反而会造成业务响应更慢,通常为2至2.5倍就好,如果有特殊需求可以更大。 

    内存为32G以上则不考虑 

    内存在16G至32G之间,交换分区配置为8G 

    内存在4G至16G之间,交换分区配置为4G 

    内存小于4G的则配置交换分区为2G 

     

    使用方法: 

     

    1.附件解压后,把add_swap.sh脚本丢到 /root目录下,然后执行 bash add_swap.sh 。 

    2.用putty远程登录服务器,把脚本添加到fstab文件中让系统引导时自动启动 

    echo "/var/swap_file swap swap defaults 0 0" >>/etc/fstab

     

    3.用winscp编辑/etc/rc.local 文件,删除掉swapoff -a 这一行; 

    4.用reboot命令重启服务器看看,有了吧!

    工具下载:add_swap.zip

  • 阿里云CentOS服务器挂载数据盘

    在这个网站比访客都要多的年代,做网站要考虑怎么节省,因为真是一分钱的盈利也没有呀!
    以前用的是Windows的系统,听朋友说Linux占用内存小,而且效率要高一些,还稳定,当时我心头一热就买了一台阿里云,装了Centos 买了20G的数据盘。
    刚刚接触Linux 所以万事靠笔,先记下咋挂载数据盘。
    阿里云Linux云服务器数据盘默认是未做分区和格式化的,使用前需要先挂载数据盘。
    第一步:查看数据盘在没有分区之前使用 df -h命令,是无法查看到数据盘的,可以用

    fdisk -l
    

    第二步:对数据盘进行分区:执行fdisk /dev/xvdb命令对数据盘进行分区,根据提示,依次输入“n”、“p”、“1”、两次回车,“w”,分区。

    fdisk /dev/xvdb
    

    第三步:查看新的分区使用fdisk -l命令可以看到,新的分区 xvdb1 已经建立完成了。

    fdisk -l
    

    第四步:格式化新分区使用mkfs.ext3 /dev/xvdb1命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。

    mkfs.ext3 /dev/xvdb1  或  mkfs.ext4 /dev/xvdb1
    

    第五步:添加分区信息使用echo ‘/dev/xvdb1 /mnt ext3 defaults 0 0’ >> /etc/fstab命令写入新分区信息。

    echo '/dev/xvdb1              /www                    ext3    defaults        0 0' >> /etc/fstab
    或
    echo '/dev/xvdb1              /www                    ext4    defaults        0 0' >> /etc/fstab
    

    第六步:cat /etc/fstab命令查看,是否写入成功。

    cat /etc/fstab
    

    第七步:使用mount -a命令挂载新分区,然后用df -h命令查看,出现 /dev/xvdb1 那一行就说明挂载成功,可以开始使用新的分区了。

    mount -a
    df -h