1. 程式人生 > >一步步yum安裝LNMP,脫坑筆記!!!

一步步yum安裝LNMP,脫坑筆記!!!

更改國內yum源:

1.備份yum原始檔,位置在/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

2.獲取阿里的yum源:(centos7為例)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.更新cache

yum makecache

4.更新該yum源下所有資源:

yum -y update

 


 

 

安裝Nginx

1.更換nginx源為官網源(這步可省略)

To set up the yum repository for RHEL/CentOS, create the file named /etc/yum.repos.d/nginx.repo with the following contents:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
Replace “OS” with “rhel” or “centos”
, depending on the distribution used, and “OSRELEASE” with “6” or “7”, for 6.x or 7.x versions, respectively.

2.安裝並啟動nginx:

查詢nginx源、安裝nginx、關閉防火牆、啟動nginx

yum search nginx
yum -y install nginx
service iptables stop
service nginx start


 安裝PHP

如果打算安裝5.X版本,直接yum install php就可以。

我這裡安裝PHP7.0,所以如下操作:

更新yum源、安裝php7.0及許多依賴

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
yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel

安裝OK後,php -v即可看到 php7的版本資訊

 那麼問題來了,怎麼驗證nginx可以解析php呢?

在nginx預設啟動位置/usr/share/nginx/html下,新建info.php。裡面測試程式碼如下:

<?php
phpinfo();
?>

瀏覽器裡訪問http://伺服器IP/info.php,發現瀏覽器直接下載了,還是打不開。怎麼弄呢?繼續往下看。

在/etc/nginx/conf.d/default.conf中,找到對應程式碼修改為如下程式碼:

location ~ \.php$ {
         root           /usr/share/nginx/html;
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
    }

重新啟動nginx、php-fpm。然後重新訪問上一步路徑,效果如下:

 

這樣子,php就安裝完成了。繼續安裝mysql。

 


 

安裝MySQL

執行以下命令:

yum -y install mysql mysql-server ,mysql-devel

有時候,會出現mysql-server找不到的錯誤。那麼不急,再執行下面這條命令後即可。

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum intsall mysql-server

安裝成功後,啟動mysql。並且修改密碼為123.

service mysqld start
use mysql; 
update user set password=password('123') where user='root' and host='localhost'; 
flush privileges; 

最後測試下,php能否連線上呢?

在/usr/share/nginx/html下新建mysql.php

<?php
$conn=mysql_connect('localhost','root','123') ;
if($conn)
  echo "OK";
else
  echo "failed";
?>

結果是連結失敗了,php-fpm錯誤日誌顯示沒有mysql_connect()函式。怎麼解決呢?

因為缺少php-mysql模組,所以安裝命令為:

yum install php-mysql

最後特別需要說明的一點,PHP7以上版本不支援原來的mysql_connect函式。應該使用如下測試程式碼,我就陷坑好久!

<?php 
    $mysqli = new mysqli("localhost", "root", "password"); 
    if(!$mysqli)  { 
        echo"database error"; 
    }else{ 
        echo"php env successful"; 
    } 
    $mysqli->close(); 
?>

至此,LNMP環境全部配置完成。快去建站吧!