1. 程式人生 > >Ubuntu 搭建Web服務器(MySQL+PHP+Apache)詳細教程 (全網最全)

Ubuntu 搭建Web服務器(MySQL+PHP+Apache)詳細教程 (全網最全)

rpm php7 grep host 存儲 需要 目錄 所有 提示

Ubuntu 搭建Web服務器(MySQL+PHP+Apache)詳細教程 (全網最全)

看了好多人的博客,有的不全 or 有問題,整理了一下,適合小白
新手先整理幾個小問題

1.為啥使用 Linux 搭建服務器?
一個是因為主流的雲服務器太貴,買個低配的容易崩,聽說 Linux 比較穩定,之後

2.PHP 和 Apache 啥關系?
一說到 php, ?很多人會本能地想到 apache, 其 php 和 apache 沒有半毛錢的關系
php 是語言, 而apache是web服務器

3.What is LAMP?
LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python

4.啥是 Linux 包管理器,為啥我的用不了?
(1)Linux 的常用包管理器 apt rpm yum 安裝系統時是沒有的,需要自己安裝,就類似 windows 裏面的添加/刪除程序
(2)Ubuntu 默認的包管理器為 apt,而 rpm,yum 是 Redhat 的軟件包管理器
(3)Ubuntu 絕大多數用 apt 就夠了,當然也可以用 rpm yum 包管理器

1.安裝 rpm 

apt install rpm

2.安裝 yum

apt install yum

5.怎麽查看 apt 管理的所有包,使用命令:

apt list

怎麽查看 apt 所有已經安裝的包,使用命令:

apt list --installed

一、Ubuntu 安裝 MySQL

1.打開 Ubuntu 終端,使用下面速度命令進入管理員權限

sudu su

輸入系統的密碼

2.Ubuntu 上安裝 mysql 非常簡單只需要幾條命令就可以完成

apt-get install mysql-server
 
apt-get install mysql-client
 
apt-get install libmysqlclient-dev

執行命令時會提示輸入 Y 表示同意

3.Ubuntu 安裝 net-tools

apt install net-tools

4.檢查是否安裝成功

sudo netstat -tap | grep mysql

如果看到有 mysql 的socket處於 listen 狀態則表示安裝成功
技術分享圖片

5.登陸mysql數據庫可以通過如下命令:

mysql -u root -p 
-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之後會提示輸入密碼,此時輸入密碼就可以登錄到 mysql
(默認會有一個 root 用戶,密碼也為:root)

技術分享圖片

6.然後就可以查看當前的數據庫

show databases;

技術分享圖片

7.然後就是 MySQL 的一些操作了
分享我整理的 MySQL 常用命令:MySQL 常用命令大全

二、Ubuntu 安裝 Apache2

1.Ubuntu 安裝 Apache2

apt-get install apache2

輸入 Y 同意

2.檢查是否安裝成功,在瀏覽器輸入地址:

http:localhost

截圖:
技術分享圖片

3.apache 的默認的一些目錄
默認文檔根目錄是在 ubuntu 上的 /var/www 目錄
配置文件是 / etc/apache2/apache2.conf
配置存儲在的子目錄在/etc/apache2 目錄

4.我怎麽手動開啟/關閉 Apache 服務器呢?
(一般 Apache 服務器會自動啟動)
(1)重啟 Apache 服務器(常用)

sudo /etc/init.d/apache2 restart

(2)開啟 Apache 服務器

sudo /etc/init.d/apache2 start

(3)關閉 Apache 服務器

sudo /etc/init.d/apache2 stop

三、安裝安裝 php 7.0

1.這裏安裝比較多,也是為了以後少一些麻煩,使用命令

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:ondrej/php && sudo apt-get update

sudo apt-get -y install php7.2

# 如果之前有其他版本PHP,在這邊禁用掉

sudo a2dismod php5
sudo a2enmod php7.2

# 安裝常用擴展(建議安裝)
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

#  安裝其他擴展(按需要安裝)
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

然後靜靜等待安裝完成

四、介紹 Nginx

1.什麽是 Nginx ?
Nginx (engine x) 是一個高性能的 HTTP 和反向代理服務

2.不太懂,那 nginx 和 php 有什麽關系?
php 是一門編程語言,但是只有 php 的話,你的 php 只能在你的服務器裏的運行,比如你用 php 寫了一個可以通過身高計算人的標準體重的程序,雖然這個程序可以在服務器運行,但是他還不能和客戶交互,因為客戶現在還不能訪問你的 php 程序,他也不會去下載你的 php 程序到自己電腦裏運行,他只想默默的通過瀏覽器告訴你他的身高,然後得到這個程序返回的體重,那麽誰來得到這個用戶發送過來的請求呢,又怎麽把請求數據轉發給對應的 php 程序呢 ?
nginx 就是為了解決上述問題而出現的,nginx 是一個已經寫好的程序,需要安裝配置,作用是專門接收處理客戶通過瀏覽器等發送來的請求,並和你寫的 php 程序交互,就這麽簡單,但是 nginx 不僅可以和你寫的 php 程序交互,也可以和你寫的其他程序交互,比如 C,python,因為不是所有人都用 php 來寫 web 程序,簡單點說 nginx 是一個可以監聽處理 http 請求(瀏覽器請求)的程序,會裝會配置,知道流程就可以用了,當然深入了解下就更好了。

 這樣的話,nginx 就可以比喻處理成處理 http 請求業務的部門,是服務器和外部千千萬萬瀏覽器等客戶端進行溝通的關口。php 是服務器內部一個數據加工部門,可以加工生成各種頁面。客戶端發送的 http 請求歷經層層路由到達你的服務器,然後被nginx 逮個正著,統一聽候 nginx 大人的調度,如果客戶請求的是其他靜態資源,比如 txt 文本,圖片等,nginx 直接找到該資源,並返回給客戶端,如果客戶請求的是 php 程序,就找到對應的 php 程序,然後把客戶數據給這個程序,讓這個 php 程序運行一遍,再把這個程序運行的結果返回給客戶端。

  當然 nginx 和 php 具體交互並沒有那麽簡單,還需要保證規範和高效,在數據交換上,需遵守統一的規範,這個好理解,大家統一數據格式才不會亂套,效率才會更高。

更多文章

  • https://www.cnblogs.com/xpwi/

轉載請註明出處:https://www.cnblogs.com/xpwi/p/9817440.html

Ubuntu 搭建Web服務器(MySQL+PHP+Apache)詳細教程 (全網最全)