? ?
技術(shù)文檔 2021年3月14日
看了好多人的博客,有的不全 or 有問(wèn)題,整理了一下,適合小白
新手先整理幾個(gè)小問(wèn)題
1.為啥使用 Linux 搭建服務(wù)器?
一個(gè)是因?yàn)橹髁鞯脑品?wù)器太貴,買個(gè)低配的容易崩,聽(tīng)說(shuō) Linux 比較穩(wěn)定,之后
2.PHP 和 Apache 啥關(guān)系?
一說(shuō)到 ph6 \ K H 2 Q r ap, 很多人會(huì)本能地想到 apache, 其 php 和 apache 沒(méi)有半毛錢的關(guān)系
php 是語(yǔ)言, 而apache是web服務(wù)器
3.What is LAMP?
LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python
4.啥是 Linux 包管理器,為啥我的用不了?
(1)Linux 的常用包管理器 apt rpm yum 安裝系統(tǒng)時(shí)是沒(méi)有的,需要自己安裝,就類似 windows 里面的添加/刪除程序
(2)Ubuntu 默認(rèn)的包管理器為 apt,而 rpm,yum 是 Redhat 的軟件包管理器
(3)Ubuntu 絕大多數(shù)用 apt 就夠了,當(dāng)然也可以用 rpm yum 包管理器
1.安裝 rpm
apt install rpm
2.安裝 yum
apt install yum
5.怎么查看 apt 管理的所有包,使用命令:
apt list
怎么查看 apt 所有已經(jīng)安裝的包,使用命令:
apt list --installed
1.打開(kāi) Ubuntu 終端,使用下面速度命令進(jìn)入管理員權(quán)限
sudo su
輸入系統(tǒng)的密碼
2.Ubuntu 上安裝 mysql 非常簡(jiǎn)單只需要幾條命令就可以完成
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysqlclient-dev
執(zhí)行命令時(shí)會(huì)提示輸入 Y 表示同意
3.Ubuntu 安裝 net-tools
apt install net-tools
4.檢查是否安裝成功
sudo nT L = $ ) E letstat -tap | grep mysql
如果看到有 mysql 的socket處于 listj x ^en 狀態(tài)則表示安裝成功
5.登陸mysql數(shù)據(jù)庫(kù)可以通過(guò)如下命令:
mysql -u root -p
-ux { ] 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之后會(huì)提示輸入密碼,此時(shí)輸入密碼就可以登錄到 mysql
(默認(rèn)會(huì)有一個(gè) root 用戶,密碼為空)
6.然后就可以查看當(dāng)前) U ] O的數(shù)據(jù)庫(kù)
show databases;
7.然后就是 MySQL 的一些操作了
分享我整理的 MySQL 常用命令:MySQL 常用命令大全
1.Ubuntu 安裝 Apache2
apt3 w O B u Q + - e-get install apache2
輸入 Y 同意
2.檢查是否安裝成功,在瀏覽器輸入地址:
http:localhost
截圖:
3.apache 的默認(rèn)的一些目錄
默認(rèn)文檔根目錄是在 ubuntu 上的 /var/6 ` l [ g 3 * 5 nwww 目錄
配置文件是 / etc/apache2/apache2.conf
配置存儲(chǔ)在的子目錄在/etc/apache2 目錄
4.我怎么手動(dòng)開(kāi)啟/關(guān)閉 Apache 服務(wù)器呢?
(一般 Apache 服務(wù)器會(huì)自動(dòng)啟動(dòng))
(1)重啟 Apache 服務(wù)器(常用)
sudo /etc/init.d/apache2 restart
(2)開(kāi)啟 Apache 服務(wù)器
sudo /etc/init.d/apache2 start
(3)關(guān)閉 Apache 服務(wù)器
sudo /etc/init.d/apache2 stop
1.這里安裝比較多,也是為了以后少一些麻煩,使用命令
sudo apt-get install software-properties-common
sudo addi 3 R + ! O _ g X-apt-repository ppa:ondrej/php &&amZ 6 Up; sudo apt-get update
sudo apt-get -y install php7.2
# 如果之前有其他版本PHP,在這邊禁用掉
sudo a2dismod php5
sudo a2enmod php7.2
# 安裝常用擴(kuò)展(建議安裝)
sudo apt-get -y install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml php7.2-intl php7.2-odbc php7.2-cgi
# 安裝其他擴(kuò)展(按需要安裝)
sudo apt-get install php7.2-gd
sudo apt-get install php7.2-soap
sudo apt-get install php7.2-gmp
sudo apt-get install php7.2-pspell
sudo apt-get install php7.2-bcmath
sudo apt-get install php7.2-enchant
sudo apt-get install php7.2-imap
sudo apt-get install php7.2-ldap
sudo apt-get install php7.2-opcache
sudo apt-get install php7.2-readline
sudo apt-get install php7.2-sqlite3
sudo apt-get install php7.2-xmlrpc
sudo apt-get install php7.2-bz2
sudo apt-get install php7.2-interbase
sudo apt-get install php7.2-pgsql
sudo apt-get install php7.2-recode
sudo apt-get install php7.2-sybase
sudo apt-get install php7.2-xsl
sudo apt-get install php7.2-dba
sudo apt-get install php7.2-phpdbg
sudo apt-get install php7.2-snmp
sudo apt-get install php7.2-tidy
sudo apt-get install php7.2-zip
然后靜靜等待安裝完成
1.什么是 Nginx ?
Nginx (engine x) 是一個(gè)高性能的 HTTP 和反向代理服務(wù)
2.不太懂,那 nginx 和 php 有什么關(guān)系?
php 是一門編程語(yǔ)言,但是只有 php 的話,你的 php 只能在你的服務(wù)器里的運(yùn)行,比如你用 php 寫了一個(gè)可以通過(guò)身高計(jì)算人的標(biāo)準(zhǔn)體重的程序,雖然這個(gè)程序可以在服務(wù)器運(yùn)行,但是他還不能和客戶交互,因?yàn)榭蛻衄F(xiàn)在還不能訪問(wèn)你的 php 程序,他也不會(huì)去下載你的 php 程序到自己電腦里運(yùn)行,他只想默默的通過(guò)瀏覽器告訴你他的身U 5 ! 3 1 =高,然后得到這個(gè)程- B j } t 8 - % P序返回的體重,那么誰(shuí)來(lái)得到這個(gè)用戶發(fā)送過(guò)來(lái)的請(qǐng)求呢,又怎么把請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)給對(duì)應(yīng)的 php 程序呢 ?
nginx 就是為了解決上述問(wèn)題而出現(xiàn)的,nginx 是一個(gè)已經(jīng)寫好的程序,需要安裝配置,作用是專門接收處理客戶通過(guò)瀏覽器等發(fā)送來(lái)的請(qǐng)求,并和你寫的 php 程序交互,就這么簡(jiǎn)單,但是 nginx 不僅可以和你寫的 php 程序交互,也可以和你寫的其他程序交互,比如 C,python,因?yàn)椴皇撬腥?span id="ccoacoqo" class="qqworld-11070-mypl" data-mark="seo">O = ! d ? 9 2都用 php 來(lái)寫 web 程序,簡(jiǎn)單點(diǎn)說(shuō) nginx 是一個(gè)可以監(jiān)聽(tīng)處理 http 請(qǐng)求(瀏覽器請(qǐng)求)的程序,會(huì)裝會(huì)配置,知道流程就可以用了,當(dāng)然深入了解下就更好了。
這樣的話,nginx 就可以比喻處理成處理 http 請(qǐng)求業(yè)務(wù)的部門,是服務(wù)器和外部千千萬(wàn)萬(wàn)瀏覽器等客戶端進(jìn)行溝通的關(guān)口。php 是服務(wù)器內(nèi)部一個(gè)數(shù)據(jù)加工部門,可以加工生成各種頁(yè)面。客戶端發(fā)送的 http 請(qǐng)求歷經(jīng)層層路由到達(dá)你的服務(wù)器,然后被nginx 逮個(gè)正著,統(tǒng)一聽(tīng)候 nginx 大人的調(diào)度,如果客戶請(qǐng)求的是其他靜態(tài)資源,比如 txt 文本,圖片等,nginx 直接找到該資源,并返回給客戶端,如果客戶請(qǐng)求的是 php 程序,就找到對(duì)應(yīng)的 php 程序,然后把客戶數(shù)據(jù)給這個(gè)程序,讓這個(gè) php 程序運(yùn)行一遍,再把這個(gè)程序運(yùn)行的結(jié)果返回給客戶端。
當(dāng)然 nginx 和 php 具體交互并沒(méi)有那么簡(jiǎn)單,還需要保證規(guī)范和高效,在數(shù)據(jù)交換上,需遵守統(tǒng)一的規(guī)范,這個(gè)好理解,大家統(tǒng)一數(shù)據(jù)格式才不會(huì)亂套,效率才會(huì)更高。
關(guān)鍵詞: