## 系统更新 ### 1 安装EPEL源 yum -y install epel-release.noarch or sudo yum install epel-release ### 2 手动进行 升级所有包,改变软件设置和系统设置,系统版本内核都升级 yum -y update 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变 yum -y upgrade 出现 `remi could not retrieve mirrorlist` 的错误有可能是DNS设置问题,用以下方法解决 在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了。和CentOS 6下的设置DNS方法不同,有几种方式: #### (1)使用全新的命令行工具 nmcli 来设置 #显示当前网络连接 #nmcli connection show NAME UUID TYPE DEVICE eno1 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eno1 #修改当前网络连接对应的DNS服务器,这里的网络连接可以用名称或者UUID来标识 #nmcli con mod eno1 ipv4.dns "114.114.114.114 8.8.8.8" #将dns配置生效 #nmcli con up eno1 #### (2)使用传统方法,手工修改 /etc/resolv.conf 修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项: plugins=ifcfg-rh dns=none NetworkManager重新装载上面修改的配置 #systemctl restart NetworkManager.service 手工修改 /etc/resolv.conf nameserver 114.114.114.114 nameserver 8.8.8.8 ## Nginx 安装 添加nginx官方库 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum -y install nginx ## MySQL 安装 在CentOS命令行,运行 sudo rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 将其添加到yum库。 运行 sudo yum install mysql-server 安装MySQL 运行 sudo systemctl start mysqld 登录并修改MySQL的root密码 mysql> USE mysql ; mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; mysql> flush privileges ; mysql> quit 允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下: 在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作: mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit win下远程访问可能还需要如下步骤 mysql>use mysql; mysql>update user set password = password('newpassword') where user='root'; mysql>Flush privileges; ## PHP5.6 安装 http://www.if-not-true-then-false.com/2010/install-apache-php-on-fedora-centos-red-hat-rhel/comment-page-3/ https://www.ifshow.com/the-new-centos-7-install-lnmp-linux-nginx-mariadb-php-and-multi-site-configuration/ ## vsfptd 安装 https://www.ifshow.com/centos-7-install-vsftpd-with-pasv-over-ssl-explicit/ ## 新建ftp用户: useradd -d /home/ftp -g ftp -s /sbin/nologin ftptest passwd ftptest /etc/vsftpd/chroot_list 添加刚才的用户 CentOS7 安裝 golang wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz tar -xzf go1.4.linux-amd64.tar.gz vim /etc/profile //寫在最底下 export GOROOT=/data1/go (改成自已放置的位置) export PATH=$PATH:$GOROOT/bin export GOPATH=/data1/goWork (改成自已放置的位置) yum install git go version ## 搭建ngrok http://ekan001.com/article/38 bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":8000" 修改全局配置并立即生效 nano /etc/profile source /etc/profile //使配置立刻生效 ## CentOS 7开机启动脚本 在/etc/rc.d/init.d这个文件中输入的命令在开机时会执行,所以如果只是简单语句可以直接写进去,如果是个脚本,就可以通过这个文件去调用你自己的脚本,经过尝试,结果开机并没有执行,然后发现了文件中的这句话: # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. ls -l一下发现确实缺少执行权限,于是执行chmod +x /etc/rc.d/rc.local后再重启便成功了。 ## 启动服务命令 #自启动 systemctl enable docker.service #关闭自启动 systemctl disable docker.service #显示已启动服务 systemctl list-units --type=service #服务详细信息 systemctl status docker.service #仅显示是否 Active systemctl is-active docker.service #启动服务 systemctl start docker.service #暂停服务 systemctl stop docker.service #重启服务 systemctl restart docker.service ## Centos7开放端口 Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口: CentOS7 防火墙 http://havee.me/linux/2015-01/using-firewalls-on-centos-7.html 开启端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 重启防火墙 firewall-cmd --reload Laravel 空白页 chmod -R 777 app/storage //给了权限就可以 ## unzip解压 在linux下解压zip文件,最简单的方式就是unzip命令直接跟上要解压的zip文件。 unzip <zip-file> 上面的用法是把文件解压到当前目录下,如果要把文件解压到指定的目录下,需要用到-d参数。 unzip -d <dst-dir> <zip-file> 解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数。 unzip -n <zip-file> unzip -n -d <dst-dir> <zip-file> 有时候,我们只想看一下zip压缩包中包含哪些文件,就可以使用-l参数。 unzip -l <zip-file> 我们在使用WinZip或WinRar的时候,它显示的文件列表还包含压缩比率,unzip命令使用-v命令也可以看到这些信息。 unzip -v <zip-file> 我们经常会碰到这种情况,从网上下载的zip文件可能不完整,在使用WinZip或WinRar打开的时候,会报错,unzip提供了-t参数来检查zip文件是否损坏。 unzip -t <zip-file> 如果在unzip命令后,增加 -o的参数,则不再进行询问,直接覆盖原文件解压缩,节省了很多事儿。 unzip -o filename.zip 如何把tar.gz格式文件解压到指定目录? 格式 :#tar zxvf *.tar.gz -C 您想指定的目录。一个简单例子: 比如把kleandisk-2.1.tar.gz解压后,释放到/home/cao目录下。可以这样: #tar zxvf kleandisk-2.1.tar.gz -C /home/cao ## 基本语法: chown [-R] 账号名称 文件或目录 chown [-R] 账号名称:用户组名称 文件或目录 参数: -R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录 都更新成为这个用户组。常常用在更改某一目录的情况。 示例1: [root@localhost home]# touch testfile //由 root 用户创建文件 [root@localhost home]# ls testfile –l -rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的拥有者及拥有者级均为 root [root@localhost home]# chown yangzongde testfile //修改文件拥有者为 yangzongde [root@localhost home]# ls testfile -l -rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组仍为 root 示例2: chown bin install.log ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log chown root:root install.log ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log 三、使用chgrp命令更改文件所属用户组 在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是`change group`(改变用户组)的缩写。需要注意的是要改变成为的用户组名称,必须在` /etc/group`里存在,否则就会显示错误。 基本语法: chgrp [-R] 用户组名称 dirname/filename ... 参数: -R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录 都更新成为这个用户组。常常用在更改某一目录的情况。 示例3 [root@localhost home]# ls testfile -l -rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组为 root [root@localhost home]# chgrp yangzongde testfile //修改拥有者组为 yangzongde [root@localhost home]# ls testfile -l -rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile [root@localhost home]# chown root:root testfile // 使用 chown 一次性修改拥有者及组 [root@localhost home]# ls testfile -l -rw--w--w- 1 root root 0 Jun 7 19:35 testfile 示例4 [root@linux ~]# chgrp users install.log [root@linux ~]# ls -l -rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log 示例5 更改为一个 /etc/group里不存在的用户组 [root@linux ~]# chgrp testing install.log chgrp: invalid group name `testing' <== 出现错误信息~找不到这个用户组名~ ## CentOS7 修改时区 timedatectl 命令 timedatectl //等同于 timedatectl status 查看当前服务器时区 2.2 设置时间 timedatectl set-time "YYYY-MM-DD HH:MM:SS" 2.3 列出所有时区 timedatectl list-timezones 2.4 设置时区 timedatectl set-timezone Asia/Shanghai 2.5 是否NTP服务器同步 timedatectl set-ntp yes //yes或者no 2.6 将硬件时钟调整为与本地时钟一致 timedatectl set-local-rtc 1 hwclock --systohc --localtime //与上面命令效果一致 * 注意 硬件时钟默认使用UTC时间,因为硬件时钟不能保存时区和夏令时调整,修改后就无法从硬件时钟中读取出准确标准时间,因此不建议修改。修改后系统会出现下面的警告。 2.6 硬件时间设置成 UTC: timedatectl set-local-rtc 1 hwclock --systohc --utc //与上面命令效果一致 ## git添加 ssh 问题:Permission denied (publickey). 查看我的密钥 ls ~/.ssh/ # bajie bajie.pub known_hosts    发现我的id_rsa文件我命令为bajie, 所以根本没有使用它。同时可以使用如下命令查看密钥列表: ssh-add -l 上面命令的密钥列表为空,所以要添加我的密钥,使用命令: ssh-add ~/.ssh/bajie Enter passphrase for /home/gr/.ssh/bajie: Identity added: /home/gr/.ssh/bajie (/home/gr/.ssh/bajie) 再次查看,如下,添加成功: ssh-add -l 2048 63:c5:d8:6c:a0:0c:a8:9c:26:d8:f8:95:de:29:04:eb /home/gr/.ssh/bajie (RSA) 问题:`Could not open a connection to your authentication agent` 执行`ssh-add ~/.ssh/id_rsa`报标题上的错误: 先执行 `eval `ssh-agent`` (是~键上的那个`) 再执行 `ssh-add ~/.ssh/rsa`成功, `ssh-add -l `就有新加的rsa了。