::Linux 從入門到精通
第一步:安裝軟體
Virtualbox(V5.1.8) 下載地址:
CentOS下載:
http://mirrors.163.com/centos/7/isos/x86_6...-
x86_64-Minimal-1611.iso
官方下載地址: https://www.centos.org/download/
第二步:安裝基礎服務
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
if
重啟服務
service network restart
路由網址
traceroute car.blessjing.cn
安裝 ifconfig
yum install net-tools
安裝 wget
yum install wget
安裝 vim
yum install vim
檢視程式
ps -ef |grep ssh
第三步: 檢視虛擬機器版本
cat /etc/redhat-release
第四步:CentOS 映象使用(替換預設源)
#備份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
#執行以下命令生成快取
yum clean all
yum makecache
免密登入
生成key
ssh-keygen
將客戶機公鑰複製一份到目標機的
~/.ssh/authorized_keys
埠安全
修改 ssh 服務埠 vim /etc/ssh/sshd_config
service sshd restart
常用命令
軟體包管理器:yum
- 安裝軟體:yum install xxx
- 解除安裝軟體:yum remove xxx
- 搜尋軟體:yum serach xxx
- 清理快取:yum clean packages
- 列出已安裝:yum list
- 軟體包資訊 : yum info xxx
伺服器硬體資源和磁碟操作
- 記憶體:free -m
- 硬碟:df -h
- 負載:w/top(閥值低於1)
- cpu : 個數和核數
cat /proc/cpuinfo
- fdisk:格式化磁碟
檔案和資料夾操作命令
-
文a件目錄結構
- 根目錄 /
- 家目錄 /home
- 臨時目錄 /tmp
- 配置目錄 /etc
- 使用者程式 /usr
-
檔案基本操作命令
- mkdir -p imooc/test1(迴圈檔案目錄)
-
編輯器 vim
- gg 首行
- G 尾行
- dd 刪除
- u 恢復
- yy 複製
- p 貼上
-
檔案許可權 421
- r:4 w:2 x:0
-
檔案搜尋,查
- tail 從檔案尾部開始讀
- head 從檔案頭部讀
- more 分頁讀取
- grep -n '' filename 搜尋
- wc cat imooc | wc -l 統計行數
- find /etc/ -name "*.conf" 該目錄下字尾為 .conf 的檔案
-
檔案壓縮和解壓
- tar -czvf imooc.tar.gz imooc.md 壓縮
- tar -xzvf imooc.tar.gz 解壓
- tar -tzvf imooc.tar.gz 檢視
系統使用者操作命令
- useradd 新增使用者
- adduser 新增使用者
- userdel 刪除使用者
a. userdel -r username 徹底刪除使用者 - passwd 設定密碼
防火牆相關設定
-
只開放 80 22 43(https)
-
安裝
-
檢查安裝
yum list |grep firewall
-
檢視執行狀態
ps -ef |grep firewall
-
安裝
yum install firewalld
-
-
啟動
service firewalld start
-
檢查狀態
service firewalld status
-
關閉或禁用防火牆
service firewalld stop/disable
-
相關操作
firewall-cmd --version
firewall-cmd --query-port=22/tcp
firewall-cmd --list-services
firewall-cmd --remove-service=ssh
firewall-cmd --add-service=ssh
提權操作 sudo 和檔案傳輸操作
-
提權
$ visudo
%imooc ALL=(ALL) ALL
-
檔案下載
-
下載到檔案
curl -o baidu.html http://www.baidu.com
-
wget http://www.baidu.com
-
scp imooc@192.168.0.101:/tmp/imooc.text ./
-
-
檔案上傳
scp imooc.txt imooc@192.168.0.101:/tmp/
WebServer
Apache
-
安裝
yum install httpd
-
啟動
service httpd start
查詢程式
ps -ef | grep httpd
-
停止
service nginx stop
Nginx
-
安裝
-
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/...
-
yum install -y nginx
查詢程式
ps -ef | grep nign
-
-
啟動
service nginx start
-
停止
service nginx stop
-
過載 (使用者無感)
service nginx reload
-
偽靜態
-
日誌格式化
百度一下:
nginx log_format
access_log /var/log/nginx/access_imooc.log imooc;
-
反向代理
-
負載均衡
-
除錯技巧
8: MySQL
a. CentOS 預設安裝了想先解除安裝 mariable 資料庫
yum search mysql
yum remove mariadb-libs.x86_64
b. 下載 MySQL 源:
c. 安裝源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
d. 安裝 MySQL
yum install mysql-community-server
e. 預設密碼:
cat /var/log/mysqld.log | grep "password"
f.登入
mysql -h192.168.0.104 -uroot -password
g. 開啟 Genelog 記錄日誌方便除錯
# 設定general log儲存路徑
# 注意 在Linux中只能設定到 /tmp 或 /var 資料夾下,設定其他路徑出錯
# 需要root使用者才有訪問此檔案的許可權
mysql> set global general_log_file='/tmp/general.log';
# 開啟general log模式
mysql> set global general_log=on;
# 關閉general log模式
mysql>set global general_log=off;
在general log模式開啟過程中,所有對資料庫的操作都將被記錄 general.log 檔案
h. 新建使用者
CREATE USER 'imooc'@'%' IDENTIFIED BY '123456';
i. 許可權操作
賦予許可權
GRANT ALL PRIVILEGES ON *.* TO 'imooc'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT select,insert,update,delete ON *.* TO 'imooc'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
收回許可權
REVOKE ALL PRIVILEGES ON *.* FROM imooc;
FLUSH PRIVILEGES;
i. 忘記 root 密碼怎麼辦
在 /etc/my.cnf 加入 skip-grant-tables
use mysql;
update user set authentication_string=password('456789') where user='root';
j. 遠端連結
1. 連結資料庫
mysql -h192.168.0.104 -uroot -password
2. use mysql;
3.select Host,User from user \G;
4.update user set Host = '%' where Host = "localhost" and User = "root";
5. flush privileges;
6. 重啟資料庫
7.關閉防火牆
大檔案匯入用命令列比客戶端效率高
source D:\hudong.sql
9: 快取 Memcache 和 Redis
telnet
telnet 127.0.0.1 11211
-bash: telnet: command not found
yum install telnet.*
telnet 127.0.0.1 11211
set imooc 0 60 5
hello
get imooc
delete imooc
Memcache
安裝:
yum install memcached
啟動:
memcached -d -l -m -p
停止:
kill pid
Redis
安裝:
1:獲取原始碼
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
2:解壓
tar -xzvf redis-4.0.2.tar.gz
3:安裝
yum install gcc
make MALLOC=libc
sudo make install
啟動: | 命令 | 簡介 |
---|---|---|
redis-server | Redis伺服器端啟動程式 | |
redis-cli | Redis客戶端操作工具。也可以用telnet根據其純文字協議來操作 | |
redis-benchmark | Redis效能測試工具 | |
redis-check-aof | 資料修復工具 | |
redis-check-dump | 檢查匯出工具 |
cd src && ls
./ redis-server
停止:
redis-server stop
客戶端
redis-client
10:Git
1 : 安裝
sudo yum install git
2:生成SSH KEY
ssh-keygen
3:訪問碼雲(https://gitee.com),配置SSH Key
4:基本命令
推薦學習Git基本命令網址:http://www.runoob.com/git/git-tutorial.html
5:命令自動補全
5.1. 下載原始碼 使用下載原始碼中的 git-completion.bash 自動補全命令的檔案(如果無法下載請到慕課課程群中下載)
git clone git@github.com:git/git.git
5.2 複製 git-completion.bash 檔案
cp contrib/completion/git-completion.bash /etc/bash_completion.d/
5.3 載入 bash 指令碼
source /etc/bash_completion.d/git-completion.bash
5.4 自動載入指令碼,編輯~/.bash_profile
# Git bash autoload
if [ -f /etc/bash_completion.d/git-completion.bash ]; then
source /etc/bash_completion.d/git-completion.bash
fi
PHP 環境搭建
基礎執行環境搭建
1:預設版本太低(5.4) 升級php 到5.6
1.1.檢查當前安裝的PHP包
yum list installed | grep php
1.2如果有安裝的PHP包,先刪除他們
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64
2 : 配置源
sudo rpm -Uvh http://mirror.webtatic.com/yum/el7/epel-release.rpm
sudo rpm -Uvh http://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想刪除上面安裝的包,重新安裝
rpm -qa | grep webstatic
rpm -e 上面搜尋到的包即可
3:fpm 安裝 和 基本操作
sudo yum install php56w-fpm( 也可以php55w-fpm php70w-fpm )
service php56w-fpm start/restart/stop
4:安裝PHP擴充套件
sudo yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
Laravel 執行環境搭建
server {
charset utf-8;
client_max_body_size 128M;
listen 80;
server_name laravel.imooc.test;
root /home/www/mooc/vagrant/phpmvc/laravel5/public;
index index.php;
location ~* \.(eot|otf|ttf|woff)$ {
add_header Access-Control-Allow-Origin *;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
try_files $uri =404;
}
}
PHPMyAdmin 配置安裝
- 官網
www.phpmyadmin.net
- 下載
https://files.phpmyadmin.net/phpM yAdmin/4.8.3/phpMyAdmin-4.8.3-all-languages.zip - 解壓
unzip phpMyAdmin-4.8.3-all-languages.zip - 簡化檔名
mv phpMyAdmin-4.8.3-all-languages phpmyadmin
- 下載
PHPRedisAdmin 配置安裝
14. 服務管理
設定軟連結
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Ntpdate 日期同步
Logrotate 日誌切割
supervisor 程式管理
15. Zabbix 伺服器監控
-
學習資料
https://www.cnblogs.com/clsn/p/7885990.html
-
安裝源
-
安裝服務
sudo yum install zabbix-server-mysql zabbix-web-mysql
-
create database zabbix;
-
安裝客戶端
sudo yum install zabbix-agent
-
匯入表
cd /usr/share/doc/zabbix-server-mysql-3.2.11/
zcat create.sql.gz | mysql -uroot -p zabbix
sercer {
listen 80;
server_name www.blessjing.cn;
root /usr/share/zabbix;
index index.php index.html;
access_log /var/log/nginx/access_zabbix.log imooc;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files $uri =404;
}
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結