标签 linux 下的文章

CentOS安装GeoIP

yum -y install nginx-module-geoip

yum 安装好后找到安装的模块文件
如果nginx是用yun安装的一般是安装到 /etc/nginx/modules/目录下

手动加入模块

在nginx.conf配置文件的头部载入模块和http是同一个级别的

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_stream_geoip_module.so";
ps: load_module 不能放在events{} 的后面,放在后面重启nginx会报错

因为GeoIP是基于MaxMind 提供了数据库文件来读取地域信息的所以需要下载ip的地域文件。
这个数据库是二进制的,不能用文本编辑器打开,需要上面的 GeoIP 库来读取,下面提供下载地址。
country.dat.gz
city.dat.gz
解压之后到nginx目录的geoip文件夹中,然后在项目的http中配置

geoip_country /etc/nginx/geoip/GeoIP.dat;  #加载国家IP
geoip_city /etc/nginx/geoip/GeoLiteCity.dat; #加载城市IP

server中添加配置

#判断如果不是中国的就返回403;
if ($geoip_country_code != CN) {
    return 403;
}

这样就可以实现除中国以外的ip访问返回403.

背景

因老服务器负载较高 故新增一台服务器 需要调整时间到加拿大温哥华时区

步骤

首先真正常调整时区时间

// 首先备份
mv /etc/localtime /etc/localtimeBak
// 再调整
ln -sf /usr/share/zoneinfo/America/Vancouver /etc/localtime

调整之后发现执行的java程序不管怎么样都跟北京时间一样,然后各种百度

hwclock --set --date="08/30/19 07:26:50"
.
hwclock --hctosys
.
.
.
然并卵...

结果

最后发现问题出在 /etc/timezone 上面,在 /etc/timezone 中设置的是 Asia/Shanghai ,把它修改成 America/Vancouver ,问题解决 ...

一、描述
Ubuntu新搭建的lnmp环境测试环境是否正常,在网站根目录创建index.php,输出phpinfo,浏览器访问页面为空。

二、原因
原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接收到了请求,但这请求却指向一个不存在的文件,于是返回空结果

三、解决
修改fastcgi_params

vim /etc/nginx/fastcgi_params

添加以下参数

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO       $fastcgi_script_name;

使用tzselect修改时区

[root@localhost ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
 1) Afghanistan           18) Israel                35) Palestine
 2) Armenia               19) Japan                 36) Philippines
 3) Azerbaijan            20) Jordan                37) Qatar
 4) Bahrain               21) Kazakhstan            38) Russia
 5) Bangladesh            22) Korea (North)         39) Saudi Arabia
 6) Bhutan                23) Korea (South)         40) Singapore
 7) Brunei                24) Kuwait                41) Sri Lanka
 8) Cambodia              25) Kyrgyzstan            42) Syria
 9) China                 26) Laos                  43) Taiwan
10) Cyprus                27) Lebanon               44) Tajikistan
11) East Timor            28) Macau                 45) Thailand
12) Georgia               29) Malaysia              46) Turkmenistan
13) Hong Kong             30) Mongolia              47) United Arab Emirates
14) India                 31) Myanmar (Burma)       48) Uzbekistan
15) Indonesia             32) Nepal                 49) Vietnam
16) Iran                  33) Oman                  50) Yemen
17) Iraq                  34) Pakistan
#? 9
Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 1

The following information has been given:

        China
        east China - Beijing, Guangdong, Shanghai, etc.

Therefore TZ='Asia/Shanghai' will be used.
Local time is now:      Tue Jul 19 22:05:59 CST 2016.
Universal Time is now:  Tue Jul 19 14:05:59 UTC 2016.
Is the above information OK?
1) Yes
2) No
#? yes
Please enter 1 for Yes, or 2 for No.
#? 1

You can make this change permanent for yourself by appending the line
        TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai

把 TZ='Asia/Shanghai'; export TZ 添加到 /etc/profile 文件中

source /etc/profile

Linux常见英文报错中文翻译(菜鸟必知)

1.command not found 命令没有找到

2.No such file or directory 没有这个文件或目录

3.Permission denied 权限不足

4.No space left on device 磁盘没有剩余空间

5.File exists 文件已经存在

6.Is a directory 这是1个目录

7.Not a directory 不是1个目录

8.Warning: Changing a readonly file 警告:改变一个只读文件

9.Found a swap file by the name ".1.swp" 发下了一个swap文件名字为1.swp

(vim编辑器碰到的意外关闭文件有缓存文件)

10.unrecognized option '--oldboy' 不识别的选项,去查看帮助

11.No route to host 没有路由到主机(防火墙没关)

12.connection refused 连接拒绝(防火墙没关或服务端口没开)

13.Access denied 访问拒绝(权限或者selinux)

转自:CSDN

du [-abcDhHklmsSx] -L <符号连接>--block-size --max-depth=<目录层数>--version

常用参数:

a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前目录的大小。
-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。

- 阅读全部 -

git push

# 将本地分支的更新,推送到远程主机
git push <远程主机名> <本地分支名>:<远程分支名>

# 将本地的master分支推送到origin主机的master分支。如果master不存在,则会被新建。
git push origin master

# 如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支
git push origin :master
# 等同于
git push origin --delete master

# 将所有本地分支都推送到origin主机
git push --all origin

# git push不会推送标签(tag),除非使用–tags选项
git push origin --tags

# 推送tag
git push origin tag_name

# 删除远程标签
git push origin :tag_name

- 阅读全部 -

默认情况下contos7不带nginx的yum源
可以通过rpm添加yum源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum源添加完成之后就可以使用yum安装nginx了(yum可以自行解决依赖关系安装nginx)

yum -y install nginx

安装完成之后可以通过命令启动nginx和设置开启自动运行

systemctl start nginx
systemctl enable nginx

没有任何报错就说明nginx安装并启动成功
如果有错误,可在nginx错误日志中查看原因

/var/log/nginx/error.log

#!/bin/sh
rq=`date +%Y%m%d`
# 删除文件夹中一些过期的备份文件
find /back/ -name "*.sql" -mtime +10 |xargs rm -fr
find /back/ -name "*.tar.gz" -mtime +10 |xargs rm -fr
# 备份整个www目录
zip -r /back/wwwback_$rq.tar.gz /apps/www/*
# 备份数据库
mysqldump -uroot -p123456 database > /back/database`date +%Y-%m-%d_%H%M%S`.sql

启动备份只需要使用计划任务执行sh脚本就行,如:

55 23 * * *    /back.sh