1. 程式人生 > >Ubuntu18.04下搭建LNMP教程-超詳細圖文(Nginx+MySQL+PHP含各種解決報錯問題)

Ubuntu18.04下搭建LNMP教程-超詳細圖文(Nginx+MySQL+PHP含各種解決報錯問題)

 筆者最近在VM15.0上安裝了Ubuntu18.04,先來安裝一個LNMP(Nginx+MySQL+PHP)網站伺服器架構,為後續的實驗做準備~    LNMP是指一組通常一起使用來執行動態網站或者伺服器的自由軟體名稱首字母縮寫。 L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。    作業系統:Ubuntu18.04  版本:php 7.2.24  +  mysql 5.7 + nginx 1.14     目錄:    1.更新源   2.安裝php7.2   3.安裝nginx   4.安裝mysql   5.配置nginx解析php   6.測試      常見問題:    1.更新源報錯?   2.php7.2版本沒有mcrypt?   3.安裝時沒有設定mysql密碼的情況下,怎麼修改mysql密碼?   4.基礎命令安裝,例如:vim,net-tools等~      筆者在安裝過程中,也出現了很多問題,經過查閱很多資料以及借鑑了很多技術部落格,筆者終於搭建好了LNMP環境。            搭建好的結果圖是這樣的:        
  接下來,我們開始介紹搭建過程吧~     1.首先要更新  
sudo apt-get update
sudo apt-get upgrade

 

    sudo apt-get update   注:這個命令,會訪問源列表裡的每個網址,並讀取軟體列表,然後儲存在本地電腦。我們在軟體包管理器裡看到的軟體列表,都是通過update命令更新的。  

 

sudo apt-get upgrade   注:這個命令,會把本地已安裝的軟體,與剛下載的軟體列表裡對應軟體進行對比,如果發現已安裝的軟體版本太低,就會提示你更新。如果你的軟體都是最新版本,會提示:升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 0 個軟體包,有 0 個軟體包未被升級。   總而言之,update是更新軟體列表,upgrade是更新軟體。           問題一:你第一次執行這條命令的時候,很可能安裝結束會報錯(如下圖),沒關係,多執行幾次此命令就好啦~             更新完成啦~       2.安裝php   首先檢視一下是否安裝了php及版本  
php -v

 

  通過下圖我們可以看到,沒有安裝php 那麼我們安裝php7.2(其他版本也可以,筆者這裡安裝的是php7.2版本)  
sudo apt install php7.2-cli

 

    安裝完成後 再檢視一下php版本   php -v   php7.2安裝完成~       安裝mcrypt,這是php7.2版本相比其他php低版本缺少的模組,後續也會用到,因此這裡我們也需要安裝~   我們如何安裝mcrypt?首先,開啟一個終端視窗並使用以下命令安裝必要的依賴項:  
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev

 

  一旦安裝了依賴項,就可以使用以下命令安裝mcrypt:
sudo pecl install mcrypt-1.0.1

 

就這樣簡單,Mcrypt現已安裝。你現在可以按照那些需要Mcrypt的軟體了。   安裝成功~   3.安裝nginx   執行命令:
sudo apt-get install nginx

 

    安裝完成後,在Ubuntu18.04的瀏覽器中輸入本機IP地址:80埠     問題二:如何檢視本機ip?   在終端裡輸入命令  ifconfig 發現沒找到命令,根據提示,安裝net-tools
sudo apt install net-tools

 

安裝完成後,再次輸入ifconfig,你就可以看到自己的ip啦~     這個就是測試nginx安裝成功的頁面~       4.安裝mysql   執行命令:
sudo apt-get install mysql-server mysql-client
sudo apt-get install php7.2-mbstring php7.2-mcrypt php7.2-mysql php7.2-xml

 

  雖然我看到很多教程上說,在安裝過程中會出現設定MySQL初始密碼的的步驟。 不過我在安裝過程中,真的是什麼都沒發生,為此,筆者以為是自己安裝過程出了問題,解除安裝重灌,結果就是這個問題,導致後面有些坑的出現。   mysql安裝完成後   執行命令:
mysql -u root -p

 

  會出現錯誤     問題三:如何在沒有設定mysql密碼的情況下,修改mysql密碼?       當然,有些小夥伴沒有安裝vim,因此你需要先安裝vim模組
sudo apt install vim

 

vim模組安裝完成後   執行命令:  
sudo vim /etc/mysql/debian.cnf

 

進入這個頁面     把這個賬戶和密碼記下來~ 賬戶應該是一樣的,密碼每個人的都不一樣哦~   在終端輸入:
mysql -u你記下來的賬戶名(debian-sys-maint) -p你記下來的密碼(ZBms.......PV這個是筆者的)

 

    這樣就進去了   接著給mysql設定密碼   依次執行命令:
1 show databases;
2 use mysql;
3 update user set authentication_string=PASSWORD("你設定的密碼") where user='root';
4 update user set plugin="mysql_native_password";
5 flush privileges;
6 quit;

 

        好啦~這樣就完成了mysql5.7的安裝~     5.配置Nginx解析PHP   首先修改你Nginx配置檔案,執行命令:  
sudo vim /etc/nginx/sites-available/default

 

  41行改成下圖      將56行到63行之間改成下圖:     儲存退出

 

重啟Nginx:  
sudo service nginx restart

 

  接下來我們修改PHP相關配置檔案:  
sudo vim /etc/php/7.2/fpm/pool.d/www.conf

 

  在37行加入下圖紅框中的程式碼~       修改之後,我們重啟php7.2-fpm
sudo service php7.2-fpm start

 

    然後在/var/www裡面新建info.php檔案   注:新建檔案的命令  sudo touch info.php(你新建的檔案)   寫入程式碼:     儲存退出   進入瀏覽器,localhost/info.php   成功~~~     然後在/var/www裡面新建mysql.php檔案   寫入以下程式碼:
1 <?php echo ‘<h1>Page loaded with PHP!</h1>‘;
2 $conn = mysqli_connect(‘localhost‘, ‘site_admin‘, ‘your_password‘);
3  
4 if(!$conn){
5 die(‘<h2>Error: </h2>‘ . mysqli_connect_error());
6 }else{
7 echo ‘<h2>Successfully Connected to MySQL Database!</h2>‘;
8 }
9 ?>

 

    叮咚~~ 完成~           總結:在安裝過程中還是遇到很多問題,不過還是一一解決了,感謝一些技術部落格的教程給我提供瞭解決方案,不斷成長,一起努力!         參考資料:   https://blog.csdn.net/u010953692/article/details/88761006 https://blog.csdn.net/ljflm/article/details/86543329 http://www.mamicode.com/info-detail-2327939.html   &nbs