聽過平庸和優秀的 PHPer 就差一篇博文

abnerSir發表於2019-07-02

歡迎來到Abner的部落格,剛開始學習PHPer, 或多或少都會為了部署一個穩定的開發環境懊惱。
今天我們就一起來學習一下Wins+Linux的環境部署

一. Wins環境

  • 推薦使用WAMP: W->windows A->apache M->mysql P->php
  • 下載地址: http://www.wampserver.com/en/
  • 選擇合適自己電腦的版本:
    聽過平庸和優秀的 PHPer 就差一篇博文
  • Wamp是傻瓜式安裝,全部選擇預設安裝即可
  • 安裝完成之後,啟動程式待圖示變成綠色說明已成功安裝
  • 在瀏覽器輸入127.0.0.1 或者 localhost 即可看到歡迎頁面
  • 到此已完成安裝,在安裝目錄下www資料夾中,新建一個index.php
    <?php
    echo phpinfo();

聽過平庸和優秀的 PHPer 就差一篇博文

二. Linux環境

  • 在linux環境中一般都是部署效能更優的Nginx,便於支援更多的併發。具體的請自行Google
  • 因此在Linux的環境的PHP環境一般叫做,LNMP:Linux+Nginx+Mysql+PHP
    我購買的阿里雲是centos7.3的.在Linux下,搭建服務最好當然是LNMP了,畢竟PHP是世界上最好的語言(開玩笑了 0.0)。當然LAMP也很好,我就是Apache從轉投Nginx的,就因為Nginx配置簡單,資源佔用低.當然Apache也有他的優點,孰優孰劣,還是要根據自己的需要取捨吧。
    言歸正傳,LNMP是Linux、Nginx、MySQL(Mariadb)、PHP。在centos上,預設的資料不再是MySQL了,成了Mariadb,這是MySQL的社群版,基本上是完全相容MySQL的,對普通開發者而言,基本感覺得不到差別的。
    開始搭建環境

安裝Nginx
安裝Nginx,在Linux上可是使用yum安裝Nginx,也可以編譯原始碼安裝,鑑於我購買的伺服器效能的原因,我還是用yum安裝吧.

使用

yum search nginx

檢視是否Nginx包,阿里雲的centos預設是有Nginx包的.
使用

yum -y install nginx

使用-y會自動解決依賴問題
等待安裝完成,沒有報錯的話,安裝成功了。使用

service nginx start

開啟Nginx服務,使用

systemctl enable nginx

把Nginx設為開機啟動。
使用curl 127.0.0.1看一下,返回html程式碼,說明成功了
安裝Mariadb或者MySQL
安裝Mariadb或者MySQL,在centos中,Mariadb可以直接使用yum安裝。由於centos的yum中預設沒有MySQL的源,必須手動新增MySQL源,才能安裝。

安裝Mariadb:

yum -y install mariadb mariadb-server

不出意外的話,會成功安裝.

service mariadb start

開啟Nginx服務,使用

systemctl enable mariadb

把mariadb設為開機啟動。
簡單配置Mariadb 輸入

mysql_secure_installation

1.顯示 Enter current password for root (enter for none): 第一次執行直接回車
2.Set root password? [Y/n] 是否設定root使用者密碼,輸入y並回車或直接回車
3.New password: 設定root使用者的密碼
4.Re-enter new password: 再輸入一次你設定的密碼
5.Remove anonymous users? [Y/n] 是否刪除匿名使用者,回車
6.Disallow root login remotely? [Y/n] 是否禁止root遠端登入,回車,
7.Remove test database and access to it? [Y/n] 是否刪除test資料庫,回車
8.Reload privilege tables now? [Y/n] 是否重新載入許可權表,回車

mysql -uroot -ppassword

登入測試一下
centos中的Mariadb版本是5.5,對標的MySQL5.5版本,最新的穩定版Mariadb是10.3,怎麼安裝最新版的Mariadb等以後有時間再更新

安裝MySQL:

新增MySQL的yum源wget https://repo.mysql.com//mysql80-community-...
rpm -Uvh platform-and-version-specific-package-name.rpm新增MySQL
現在預設會安裝MySQL8.0版本,如果想要5.7大的話 1.yum-config-manager --disable mysql80-community 2.yum-config-manager --enable mysql57-community
開始安裝yum install mysql-community-server
service mysqld start開啟MySQL服務,
systemctl enable mysql 設為開機啟動
這時候MySQL是沒有沒密碼的,需要找到密碼sudo grep 'temporary password' /var/log/mysqld.log能看到密碼
8.登入,mysql -uroot -p 看到的密碼
修改密碼 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
附上MySQL官網的安裝教程傳送門

安裝php
php可以使用原始碼安裝,也可以使用yum安裝,鑑於我的伺服器的效能,還是選擇了yum安裝。yun安裝首先要新增源。

配置yum源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝php7.2和需要的擴充

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

如果應用yum安裝redis的話

yum -y install php72w-pecl-redis

開啟php-fpm 服務,

service php-fpm start
systemctl enable php-fpm

設為開機啟動
好了LNMP需要的軟體都安裝好了,簡單配置一下

配置
Nginx配置

cd /etc/nginx/
vim nginx.conf

修改配置檔案

server {
       listen       80 default_server;
       listen       [::]:80 default_server;
       server_name  _;
       root        /home/www/default;

       return 500;#我禁用了ip訪問
       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;

           error_page 404 /404.html;
           location = /40x.html {
       }

       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }

       location ~ \.php$ {
           root /home/www/default;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           include        fastcgi_params;
       }
   }
php相關的部分是這裡

location ~ \.php$ {
           root /home/www/default;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           include        fastcgi_params;
       }

重啟

Nginx,service nginx restart

好了去 Nginx的的root目錄裡新建一個info.php檔案,測試一下

<?php
phpinfo();
?>

訪問一下你的伺服器看一下,能看到php的資訊,說明已經配置好了

到這裡,LNMP開發環境已經搭建好了,可以愉快的開發了。

相關文章