Linux系統安裝
1.準備軟件
1)iso安裝光盤
2)vmware虛擬機php
2.程序包
1)配置ip地址
2)取消桌面包
3)安裝開發工具包html
3.第一次進入系統時
1)關閉兩道防火牆(5秒倒計時)mysql
4.進了系統以後
1)ifconfig
查看ip是否配置linux
2)iptables -L
查看第一道防火牆是否關閉nginx
3)sestatus
查看第二道防火牆是否關閉web
4)init 0
關機sql
5)init 6
重啓shell
5.安裝完系統以後
1)調配內存(256M)
2)製做快照(還原系統)數據庫
6.網絡邊通(win7和linux)
1)網卡模式要一致
vmnet1apache
2)ip要在現一個段
linux:192.168.20.1
win7:192.168.20.2
7.系統之間通信(win7和linux)
1)遠程操做
putty
2)遠程傳輸
winscp
Linux經常使用命令
linux經常使用指令:
-----------------------------------------------------
基礎命令
宿主目錄
目錄結構
文件管理
目錄管理
用戶管理
別名管理
壓縮包管理
網絡設置
shell技巧
幫助方法
基礎命令:
1.init 0
關機
2.init 6
重啓
3.ls
列出當前目錄下的文件
4.cd
切換目錄
5.pwd
查看當前路徑
7.cd -
切換最近使用過的兩個目錄
8.ctrl+c
中斷當前程序
9.ctrl+l(clear)
清屏
根目錄下核心目錄:
1./mnt
測試目錄
2./root
root用戶的家目錄
3./home
普通用戶的家目錄
4./tmp
臨時目錄(好比文件上傳時)
5./var
存放軟件日誌的地方
6./boot
系統啓動文件
7./etc
系統默認放置配置文件的地方
8./bin
全部用戶都能執行的程序
9./sbin
只有root才能執行的程序
10./usr
用戶本身的軟件均可以放到這兒來
11./dev
存放硬件設備的地方(/dev/cdrom)
12./media
掛載光盤使用的
掛載光盤:
mount /dev/cdrom /media
文件管理:
1.建立文件
touch file1
2.刪除文件
rm -rf file11
3.修改文件名
mv file1 file11
4.查看文件內容
cat file1
5.複製文件
cp file2 file22
6.移動文件
mv file1 file11
7.編輯文件
vi file1
8.批量建立文件
touch file{1..10}
9.查看文件前3行
cat file1 | head -3
10.查看文件後3行
cat file1 | tail -3
11.查找文件
1)find
find / -name httpd.conf
2)updatedb
locate httpd.conf
12.查找文件內容
cat httpd.conf | grep -i listen
目錄操做:
1.建立目錄
mkdir dir1 dir2 dir3
2.刪除目錄
rm -rf dir1 dir2
3.重命名目錄或移動目錄
mv dir1 dir11
4.查看目錄
ls
5.遞歸建立目錄
mkdir -p a/b/c/d/e/f/g
6.遞歸查看目錄
tree a
用戶管理:
1.添加用戶
useradd user2
2.設置密碼
passwd user1
3.刪除用戶
userdel -r user1
4.查看用戶
id user1
別名管理:
1.添加別名
alias chttp='cat /etc/httpd/conf/httpd.conf'
2.刪除別名
unalias chttp
3.查看別名
alias
zip壓縮包:
1.製做
zip -r myshop15.zip myshop15
2.解壓
unzip myshop15.zip
3.查看
unzip -l myshop15.zip
gz壓縮包:
1.製做
tar czf myshop15.tar.gz myshop15
2.解壓
tar xzf myshop15.tar.gz
3.查看
tar tf myshop15.tar.gz
網絡設置:
1.查看ip
ifconfig
ifconfig eth0
ifconfig lo
2.臨時設置ip
ifconfig eth0 192.168.20.3
3.永久設置ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.20.3
NETMASK=255.255.255.0
shell技巧:
1.tab補全
命令+tab
2.history
查看命令歷史
3.!203
調用歷史中編號爲203的命令
4.!h
調用歷史中最後一次以h開頭的命令
獲取幫助:
ls --help
man ls
iptables防火牆:
1.查看
iptables -L
2.清空
iptables -F
3.保存
service iptables save
selinux防火牆:
1.編輯
vi /etc/selinux/config
SELINUX=disabled
2.重啓系統
init 6
Linux啓動流程、rpm軟件包和用戶權限
上次複習:
--------------------------------------------------------
1.基礎命令
2.目錄結構
3.用戶家目錄
4.文件管理
5.目錄管理
6.用戶管理
7.別名管理
8.壓縮包
9.網絡設置
10.shell技巧
11.防火牆
1)iptables防火牆
2)selinux防火牆
今天內容:
--------------------------------------------------------
1.linux啓動流程
2.rpm軟件包
3.用戶權限
linux啓動流程:
1.grub啓動引導界面
2.找到linux內核
3.啓動init程序
4.執行/etc/rc.d/rc.sysinit腳本
5.執行/etc/rc.d/rc腳本並進入3級別
6.啓動以S開頭的標記文件
7.啓動/etc/rc.d/rc.local
8.進入登陸界面
如何設置一個程序開機啓動:
1.vi /etc/rc.d/rc.local
service httpd start
linux系統級別:
0 關機
1 單用戶模式
2 不用
3 進入3級別,字符系統
4 不用
5 進入5級別,圖片系統
6 重啓
linux密碼破解:
按兩下a鍵,輸入一下1,進入單用戶模式,並重設密碼
yum倉庫設置:
1.cd /etc/yum.repos.d
2.rm -rf CentOS-Base.repo
3.vi CentOS-Media.repo
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
4.yum安裝rpm包
yum -y install mysql*
5.yum卸載rpm包
yum -y remove mysql*
6.yum查看rpm包
yum list
用戶權限:
drwxr-x--- 2 root root 4096 Jan 20 19:39 mnt
rwx root對mnt目錄具備讀、寫和執行的權限
r-x root組內其餘用戶對mnt目錄具備讀和執行權限
--- other其餘全部用戶對mnt目錄沒有任何權限
權限:
r 讀
w 寫
x 執行
用戶:
全部者 user u
所屬組 group g
其餘用戶 other o
u+g+o=a
#目錄的rwx
r 查看目錄裏面的文件(4)
w 在目錄裏建立或刪除文件(2)
x 切換進目錄(1)
#文件的rwx
r 查看文件內容
w 在文件裏寫內容
x 執行該文件(文件不是普通文件,是程序或腳本)
drwxr-x--- 2 root root 4096 Jan 20 19:39 mnt
需求1:讓user1對mnt目錄具備rwx的權限
chmod o+r,o+w,o+x mnt
-rwxr-x--- 2 root root 4096 Jan 20 19:39 my.sh
需求2:讓user1對my.sh文件具備x的權限
chmod o+x my.sh
需求3:讓全部用戶對my.sh都擁有x權限
chmod a+x my.sh
需求4:讓user1對mnt目錄具備r權限,讓user2對mnt目錄具備rx的權限,讓user3對mnt目錄具備rw的權限,讓user4對mnt目錄具備rwx的權限
setfacl -m u:user1:r mnt
setfacl -m u:user2:rx mnt
setfacl -m u:user3:rw mnt
setfacl -m u:user4:rwx mnt
acl權限:
1.查看mnt擁有的acl權限
getfacl -m mnt
2.設置mnt的acl權限
setfacl -m u:user1:rwx mnt
3.刪除mnt的user1擁有的acl權限
setfacl -x u:user1 mnt
4.刪除mnt上所設置過的全部acl權限
setfacl -b mnt/
sudo權限:
1.設置
visudo
%user1 localhost=/usr/sbin/useradd,/usr/sbin/userdel
2.使用
sudo /usr/sbin/useradd user5
sudo /usr/sbin/userdel user5
Linux服務進程和任務計劃
上次複習:
----------------------------------------------------
1.啓動流程
1)/etc/inittab
2)/etc/rc.d/rc.sysinit
3)/etc/rc.d/rc 3
4)/etc/rc.d/rc.local
2.rpm包管理
1)yum工具
3.用戶權限
1)chmod
2)acl
3)sudo
今天內容:
----------------------------------------------------
1.服務進程
2.任務計劃
軟件安裝和調試:
1.安裝軟件
rpm -ivh httpd-2*
2.修改配置文件
vi /etc/httpd/conf/httpd.conf
Listen 88888
3.啓動服務
service httpd restart
4.查看進程
pstree | grep httpd
5.查看端口
netstat -tunpl |grep httpd
6.關閉軟件
service httpd stop
7.關閉進程
pkill httpd
top實時觀察進程、內存和CPU狀況:
1.load average: 0.00, 0.00, 0.00
1分鐘、5分鐘和15分鐘平均負載
2.Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
cpu空閒率爲99.7%
3.Mem: 255412k total, 162852k used, 92560k free, 41192k buffers
內存空閒率爲92M
uptime命令:
1.服務器工做時間
2.在線用戶
3.平均負載
who命令:
1.獲取目前在線用戶的詳細信息
last命令:
1.獲取最近系統的重要操做
任務計劃:
1.一次性任務計劃
at
1)添加
at 18:20
at>init 6
at>ctrl+d
2)查看
atq
3)刪除
atrm 2
2.週期性任務計劃
crontab
1)添加
crontab -e
00 01 * * 0 /sbin/init 6 #每週日凌晨1點
2)查看
crontab -l
3)刪除
crontab -r
#刪除全部crontab任務計劃
shell腳本:
#備份網站數據的shell腳本
#需求:每週一凌晨3點鐘對網站進行備份,備份要求以下:(myshop15)
1).首先對網站進行壓縮,壓縮模式:myshop15-2016.1.21.tar.gz
2).把壓縮文件移動指定目錄(/mnt)
3).完成備份的任務計劃
第一步:寫腳本
cat /root/backup.sh
#!/bin/bash
t=`date +%Y.%m.%d`
f="cartoon-${t}.zip"
d="cartoon"
cd /var/www/html
zip -r $f $d &>/dev/null
mv $f /mnt
第二步:寫任務計劃
00 03 * * 1 /root/backup.sh
第三步:查看備份文件
ls /mnt
lamp環境編譯
上次複習:
-------------------------------------------------
1.服務進程
1)pstree
2)netstat -tunpl
3)top
4)uptime
5)who
6)last
2.計劃任務
1)at一次性計劃任務
2)crontab週期性計劃任務
今天內容:
-------------------------------------------------
lamp環境編譯:
1.linux
2.apache
3.mysql
4.php
#環境:經過apache可以找到php來解析php腳本,經過php可以操做mysql數據庫
查看內存:
1.free(k|m|g)
查看硬盤:
1.fdisk -l
查看系統掛載表:
1.df -h
linux下源代碼(C語言)如何編譯:
1.生成編譯配置文件(Makefile)
2.開始編譯(make)
3.開始安裝(make install)
安裝httpd-2.2.9.tar.gz源代碼:
1) ./configure --prefix=/usr/local/apache
2) make
3) make install
apache服務器配置
上次複習:
--------------------------------------------------
1.檢查編譯環境(開發工具)
2.檢查環境中是否已安裝lamp軟件
3.安裝php依賴包
4.安裝apache軟件包
5.安裝mysql軟件包
6.安裝php軟件包
7.安裝php的模塊(pdo-mysql)
今天內容:
--------------------------------------------------
web服務器:
1.apache web服務器(併發數比較低,可是穩定性高)
2.nginx web服務器(併發數比較高,可是穩定性不高)
apache web服務器:
1.apache配置文件
2.apache虛擬目錄
3.apache服務權限
4.apache虛擬主機
apache配置文件:
1.apache的主目錄
ServerRoot "/usr/local/apache2/"
2.apache的服務端口
Listen 80
3.包含php解析器動態模板
LoadModule php5_module modules/libphp5.so
4.網站根目錄
DocumentRoot "/usr/local/apache2//htdocs"
5.網站根目錄的服務權限
<Directory "/usr/local/apache2//htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Deny from 192.168.20.2
</Directory>
6.修改默認首頁
DirectoryIndex index.php index.html
7.錯誤日誌
ErrorLog "logs/error_log"
8.實時觀察一個文件的最後10行
tail -f error_log
9.訪問日誌
CustomLog "logs/access_log" common
10.用apache去執行cgi腳本
ScriptAlias /cgi-bin/ "/usr/local/apache2//cgi-bin/"
11.識別php文件
AddType application/x-httpd-php .php
12.配置虛擬主機
Include etc//extra/httpd-vhosts.conf
apache虛擬目錄:
Alias /dvd "/media/CentOS"
<Directory "/media/CentOS">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
客戶端:
http://192.168.20.1/dvd
虛擬主機:
www.lampym.com -> myshop15
bbs.lampym.com -> bbs
mysql.lampym.com -> phpmyadmin
設置win7中的域名解析表:
C:\Windows\System32\drivers\etc\hosts:
192.168.20.1 www.y15.com
192.168.20.1 bbs.y15.com
192.168.20.1 mysql.y15.com
在linux下如何設置虛擬主機:
vi /usr/local/apache2/etc/extra/httpd-vhosts.conf
NameVirtualHost 192.168.20.1:80
<VirtualHost 192.168.20.1:80>
DocumentRoot "/usr/local/apache2/htdocs/myshop15"
ServerName www.y15.com
</VirtualHost>
<VirtualHost 192.168.20.1:80>
DocumentRoot "/usr/local/apache2/htdocs/bbs"
ServerName bbs.y15.com
</VirtualHost>
<VirtualHost 192.168.20.1:80>
DocumentRoot "/usr/local/apache2/htdocs/phpmyadmin"
ServerName mysql.y15.com
</VirtualHost>
設置apache主配置文件:
vi /usr/local/apache2/etc/httpd.conf
Include etc//extra/httpd-vhosts.conf
重啓apache服務:/usr/local/apache2/bin/apachectl restart