阿里雲centos7 LNMP開發環境搭建

我購買的阿里雲是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安裝吧.

  1. 使用yum search nginx 查看是否Nginx包,阿里雲的centos默認是有Nginx包的.
  2. 使用yum -y install nginx 使用-y會自動解決依賴問題
  3. 等待安裝完成,沒有報錯的話,安裝成功了。使用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:

  1. yum -y install mariadb mariadb-server 不出意外的話,會成功安裝.
  2. service mariadb start開啓Nginx服務,使用 systemctl enable mariadb把mariadb設爲開機啓動。
  3. 簡單配置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] 是否重新加載權限表,回車

  1. mysql -uroot -ppassword 登錄測試一下

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

安裝MySQL:

  1. 添加MySQL的yum源wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
  2. rpm -Uvh platform-and-version-specific-package-name.rpm添加MySQL
  3. 現在默認會安裝MySQL8.0版本,如果想要5.7大的話   1.yum-config-manager --disable mysql80-community 2.yum-config-manager --enable mysql57-community
  4. 開始安裝yum install mysql-community-server
  5. service mysqld start開啓MySQL服務,
  6. systemctl enable mysql 設爲開機啓動
  7. 這時候MySQL是沒有沒密碼的,需要找到密碼sudo grep 'temporary password' /var/log/mysqld.log能看到密碼
    8.登錄,mysql -uroot -p 看到的密碼
  8. 修改密碼 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

附上MySQL官網的安裝教程傳送門

安裝php

php可以使用源碼安裝,也可以使用yum安裝,鑑於我的服務器的性能,還是選擇了yum安裝。yun安裝首先要添加源。

  1. 配置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

  1. 安裝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
  2. 開啓php-fpm 服務, service php-fpm start systemctl enable php-fpm設爲開機啓動

好了LNMP需要的軟件都安裝好了,簡單配置一下

配置

Nginx配置

  1. cd /etc/nginx/
  2. vim nginx.conf
  3. 修改配置文件
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開發環境已經搭建好了,可以愉快的開發了。

在實際應用中,一臺服務上一般不會只有一個網站,一臺服務器運行多個網站,最靠譜的辦法就是建立多個虛擬主機,使用不同的域名,訪問不同的網站。
這個問題,等有空再更新,

下次更新,Nginx虛擬主機的配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章