在windows上漂過久了,終因而下定決心要開始linux的踩坑之路,一個小白就這樣上百了,感謝度娘和各位大佬提供的經驗,本菜鳥在此留下學習的點點滴滴,以做備忘php
linux的安裝html
這個我直接在華爲雲申請了一個centos體驗,暫時還沒接觸到安裝linux的相關內容mysql
-------------------------------------------------------分割線-------------------------------------------------------linux
vim - 我把他理解爲linux下的記事本sql
檢查vim是否正常安裝,顯示內容以下,說明安裝正確了數據庫
[root@Centos ~]# rpm -qa|grep vim
vim-filesystem-7.4.160-4.e17.x86_64 vim-common-7.4.160-4.e17.x86_64
vim-minimal-7.4.160-4.e17.x86_64
vim-enhanced-7.4.160-4.e17.x86_64
若是缺乏任何一項,那得從新安裝一下啊,好比缺乏vim-enhancedapache
[root@Centos ~]# yum -y install vim-enhanced
若是一項都沒有,用下面的命令全新安裝vim
[root@Centos ~]# yum -y install vim*
vim的進入和退出windows
進入centos
進入vim並打開con.cfg文件:vim /usr/local/con.cfg,執行此命令,若con.cfg文件存在則打開,若不存在則建立之。進入編輯器後,咱們先按"I」(這裏是大寫字母"I"),即切換到「插入」狀態。
退出
首先按"ESC"鍵退出編輯模式,輸入":"冒號,進入命令模式,而後執行如下命令:
a.退出:q
b.保存退出:wq
c.不保存退出:q!
d.前置退出:!
-------------------------------------------------------分割線-------------------------------------------------------
Linux下經常使用的操做
-------------------------------------------------------
查找文件
locate filename
有些版本的linux會出現 -bash: locate: command not found錯誤,不要慌,安裝一下mlocate包就好
[root@CentOS ~]# yum -y install mlocate [root@CentOS ~]# updatedb
-------------------------------------------------------
列出文件
[root@CentOS ~]# ls -al
-------------------------------------------------------
進入目錄
cd ~
cd -
cd ..
cd ../..
一些技巧
示例:
[~]$ cat ~/.bashrc |grep alias alias ifcfg='cd /etc/sysconfig/network-scripts/' # User specific aliases and functions [~]$ [~]$ source ~/.bashrc # 使配置生效 [~]$ ifcfg [network-scripts]$ pwd /etc/sysconfig/network-scripts [network-scripts]$
清屏
一、clear:刷新屏幕,本質上只是讓終端顯示頁向後翻了一頁,若是向上滾動屏幕還能夠看到以前的操做信息。
二、Ctrl+l(小寫的L):清屏快捷鍵,清屏效果同clear同樣。
三、reset:徹底刷新終端屏幕,以前終端輸入操做信息將都會被清空,這樣雖然比較清爽,但整個命令過程速度有點慢,使用較少。
值得一提的是reset命令在你的終端控制錯亂時很是有用。如輸入字符不出如今光標的位置的狀況。還有當你敲擊回車鍵時,新提示符並無出如今新行上而是出如今老提示符的前面。此時reset命令就能用來修正這些問題。
四、printf "\033c":這個命令它纔是真正的清空了終端屏幕,它的功能跟DOS提供的CLS效果很類似。
但這個命令到底是作什麼的?它的工做原理是什麼?
\033 == \x1B == 27 == ESC
因而,這個命令變成了<ESC>c,它是VT-XXX中表示「Full Reset (RIS)」的轉義碼。現今咱們使用的全部的終端都是VT兼容的,它的另外一種實現方式也能夠這樣:
鍵盤上Ctrl+v--->Esc-->輸入c再回加。但若是你發現本身使用的是一個很是奇怪的終端(如筆者曾經在putty上做過測試),那這個命令你可能用不了。
printf是bash裏內置的命令,內置命令的優先級比其它可執行文件要高。
經過上面的4個清屏方式比較,有人喜歡,在PATH路徑下,如/usr/bin/目錄下新建一個名爲cls的文件,加上執行權限,寫入以下內容:
[root@CentOS bin]# vim cls #bin bash # printf("\033c")
這樣的話咱們每次須要清屏的時候,只須要輸入cls命令就能夠了。
-------------------------------------------------------分割線-------------------------------------------------------
搭建LAMP服務器環境
檢查服務是否安裝
httpd -v --查看apche版本信息
which httpd --查看apche安裝位置
yum list installed | grep php --查看已安裝的PHP版本
安裝Mysql
數據庫經常使用命令:http://www.runoob.com/sql/sql-distinct.html
1.下載mysql-server文件,過程當中遇到詢問y/n/d,一路y下去
[root@Centos ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
2.安裝mysql-server服務
[root@Centos ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm [root@Centos ~]# yum install mysql-server [root@Centos ~]# service mysqld restart
3.設置Mysql管理員root密碼
[root@Centos ~]# mysql -uroot mysql> set password for 'root'@'localhost' = password('yourpassword');
4.若是須要遠程鏈接Mysql,須要配置Mysql的遠程鏈接
a.受權遠程鏈接用戶
mysql> grant all privileges on *.* to 'user'@'%' identified by 'password' with grant option;
b.刷新權限
mysql> flush privileges;
c.檢查權限
mysql> select distinct concat('user:''',user,'''@''',host,''';') as query from mysql.user
出現如下內容說明配置正確
+--------------------------+ | query | +--------------------------+ | user:'yourname'@'%'; | #若是結果中包含這一行,說明配置正確,其中的"yourname"是你設置的username | user:'root'@'127.0.0.1'; | | user:'root'@'::1'; | | user:'root'@'localhost'; | +--------------------------+
d.退出MySQL
mysql> exit;
e.查找mysql當前使用的my.cnf路徑
[root@Centos ~]# ps aux|grep mysql|grep 'my.cnf'
若是以上命令有輸出,那麼輸出的內容即爲指定的my.cnf信息,若是上面的命令沒有輸出,表示沒有設置指定的my.cnf。
[root@Centos ~]# mysql --help|grep 'my.cnf'
該命令會列出mysql默認搜尋到的my.cnf的目錄,順序排前的優先。
若是沒有設置使用指定目錄my.cnf文件及默認讀取目錄沒有my.cnf文件,表示mysql啓動時並無加載配置文件,而是使用默認配置。
須要修改配置,能夠在mysql默認讀取的目錄中,建立一個my.cnf文件(例如:/etc/my.cnf),把須要修改的配置內容寫入,重啓mysql後便可生效。
f.修改my.cnf
[root@Centos ~]# vim /etc/my.cnf
1.將 bind-address = 127.0.0.1 設置成 bind-address = 0.0.0.0(設備地址)
2.重啓mysql
[root@Centos ~]# service mysql stop
[root@Centos ~]# service mysql start
補充說明
[root@Centos ~]# service mysql status --查看有沒有打開服務 [root@Centos ~]# service mysql start --打開服務
[root@Centos ~]# service mysql stop --中止服務
[root@Centos ~]# service mysql restart --重啓服務
g.查看端口號
[root@CentOS ~]# mysql -uroot -p'password' mysql> show global variables like 'port';
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | port | 3306 | +---------------+-------+
h.若是上面的操做都作晚了,遠端工具還沒法鏈接mysql,那麼須要在防火牆中放開端口3306
先查看3306端口是否打開
[root@CentOS ~]# netstat -nupl (UDP類型的端口) [root@CentOS ~]# netstat -ntpl (TCP類型的端口)
a --表示全部
n --表示不查詢dns
t --表示tcp協議
u --表示udp協議
p --表示查詢佔用的程序
l --表示查詢正在監聽的程序
systemctl是CentOS7的服務管理工具中主要的工具,它融合以前service和chkconfig的功能於一體。
systemctl的基本用法 啓動一個服務:systemctl start firewalld.service 關閉一個服務:systemctl stop firewalld.service 重啓一個服務:systemctl restart firewalld.service 顯示一個服務的狀態:systemctl status firewalld.service 在開機時啓用一個服務:systemctl enable firewalld.service 在開機時禁用一個服務:systemctl disable firewalld.service 查看服務是否開機啓動:systemctl is-enabled firewalld.service 查看已啓動的服務列表:systemctl list-unit-files|grep enabled 查看啓動失敗的服務列表:systemctl --failed
下面就要用到這個工具在搞事情了
[root@CentOS ~]# systemctl stop firewalld --關閉防火牆,無論防火牆有沒有關 都使用該命令關閉防火牆 [root@CentOS ~]# yum install iptables-services --安裝|更新iptables服務 [root@CentOS ~]# systemctl enable iptables --設置開機啓動iptables [root@CentOS ~]# systemctl start iptables --打開iptables
--執行下面的命令是由於locate iptables沒有找到/etc/sysconfig/iptables,若是你的系統中有這個文件,請忽略下面的命令 [root@CentOS ~]# iptables -P OUTPUT ACCEPT --隨便寫一條iptables命令配置個防火牆規則 [root@CentOS ~]# service iptables save --保存 [root@CentOS ~]# service iptables restart --重啓
[root@CentOS ~]# vim /etc/sysconfig/iptables ~ -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -- 看到有個兄弟是下面這樣寫的,不知道有什麼區別 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
添加在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited或者-A INPUT -j REJECT –reject-with icmp-host-prohibited以前
[root@CentOS ~]# service iptables restart --重啓
我執行完上面的全部操做以後,navcat依然是沒法鏈接mysql服務器,最後是在華爲雲網絡控制檯編輯安全組,新增了3306端口,而後就能夠鏈接,白折騰半天。。。
至此,mysql遠程鏈接配置完成。
安裝apache
apche的安裝比較簡單
[root@centos ~]# yum install httpd
而後就是修改配置文件
[root@centos ~]# vim /etc/httpd/conf/httpd.conf
配置完成後啓動服務、檢查服務狀態
[root@centos ~]# service httpd start
[root@centos ~]# service httpd status
測試鏈接
在瀏覽器地址欄輸入 ip:port 訪問您的站點,出現下面這樣的頁面就表示成功了
最後將httpd服務添加到開機啓動
[root@CentOS]# systemctl enable httpd
服務目錄 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
網站數據目錄 | /var/www/html |
訪問日誌 | /var/log/httpd/access_log |
錯誤日誌 | /var/log/httpd/error_log |
主配置文件 /etc/httpd/conf/httpd.conf 中經常使用的參數
ServerRoot | 服務目錄 |
ServerAdmin | 管理員郵箱 |
User | 運行服務的用戶 |
Group | 運行服務的用戶組 |
ServerName | 網站服務器的域名 |
DocumentRoot | 網站數據目錄 |
Listen | 監聽的IP地址與端口號 |
DirectoryIndex | 默認的索引頁頁面 |
ErrorLog | 錯誤日誌文件 |
CustomLog | 訪問日誌文件 |
Timeout | 網頁超時時間,默認爲300秒. |
Include | 須要加載的其餘文件 |
更加詳細的內容能夠參考https://blog.csdn.net/u011277123/article/details/77847360/
安裝PHP
--PHP5.4 yum install -y php --PHP7.0: yum-config-manager --enable remi-php70 yum -y install php php-opcache --PHP7.1: yum-config-manager --enable remi-php71 yum -y install php php-opcache
這些都不是我要的版本,我須要的是5.6的版本,總不能讓我一個小白本身動手編譯吧。由於在windows平臺運維很長一段時間了,因此知道5.6這個版本使用的人仍是頗有的,因此必定有源,功夫不負有心人,找到了,下面來記錄一下是如何安裝的
配置yum源
CentOS 6.5
# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
CentOS 7.0
# yum install epel-release # rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
使用yum list命令查看可安裝的包(Packege)。
# yum list --enablerepo=remi --enablerepo=remi-php56 | grep php
yum源配置好了,下一步就安裝PHP5.6。
# yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof
用PHP命令查看版本。
# php --version
PHP 5.6.38 (cli) (built: Oct 24 2018 12:50:38) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans
在這裏安裝的版本是PHP5.6.38
安裝完成,重啓apche
# service httpd restart
至此LAMP環境就搭建完成了
測試
# vim /var/www/html/test.php <?php phpifo() ?> :wq
而後在瀏覽器地址欄輸入 ip:port/test.php,出現如圖的結果,環境配置成功