Centos7 搭配 LEMP(Nginx + MariaDB + PHP 7.1 + phpMyAdmin)

来源:互联网 发布:python 内存管理 编辑:程序博客网 时间:2024/05/17 03:19

Centos7 搭配 LEMP(Nginx + MariaDB + PHP 7.1 + phpMyAdmin)

参考的文章

http://blog.itist.tw/2016/01/installing-lemp-stack-with-centos-7-nginx-mariadb-php-7.html

http://www.smalljacky.com/embedded-systems/raspberry-pi/arch-linux-arm-install-setup-nginx-mariadb-php-phpmyadmin/

事前准备

  • 加入 EPEL 套件庫

    sudo yum -y install epel-release
  • Remi 套件庫

    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
  • 以及 Nginx 套件庫,复制下面到 nginx.repo

    sudo vi /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1
  • 更新yum

    sudo yum -y update

安裝主要套件

  • 安装php-fpm

    sudo yum -y install nginx php71-php-fpm mariadb-server

開始設定及實測

  • 先允許防火牆讓 HTTP、HTTPS 封包通過。

    sudo firewall-cmd --permanent --zone=public --add-service=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reload
  • 直接啟動服務,並讓它在開機後自動啟動。

    sudo systemctl restart nginxsudo systemctl enable nginx 
  • 再修改預設主站台設定檔。

    sudo vi /etc/nginx/conf.d/default.conf

      server {    listen       80;    server_name  localhost;    charset utf-8;    access_log  /var/log/nginx/access.log  main;    root   /usr/share/nginx/html;    index  index.php index.html index.htm;     location / {        try_files $uri $uri/ =404;    }    error_page  404              /404.html;    # redirect server error pages to the static page /50x.html    #    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }    location ~ \.php$ {        try_files $uri =404;        fastcgi_pass 127.0.0.1:9000;        fastcgi_index index.php;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        include fastcgi_params;    }    }
  • 另外,因為 SELinux 會限制 Nginx 寫入動作,所以還要打開主目錄的存取權限。

    sudo chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html
  • 最後,讓新的設定值生效。

    sudo systemctl reload nginx
  • 访问当前ip就可以访问了

PHP-FPM

  • 首先修改一下 PHP 的主設定檔。

    sudo vi /etc/opt/remi/php71/php.ini

    找到 ;cgi.fix_pathinfo=1,將 1 改成 0,並把註解拿掉。

  • 接著,修改 PHP-FPM 的主設定檔。

    sudo vi /etc/opt/remi/php71/php-fpm.d/www.conf

    配合 Nginx 修改下列設定值。

    user = nginxgroup = nginxlisten.owner = nobodylisten.group = nobody
  • 啟動 PHP-FPM,並讓它在開機後自動啟動。

    sudo systemctl restart php71-php-fpmsudo systemctl enable php71-php-fpm
  • 測試

    sudo vi /usr/share/nginx/html/info.php

    就加入這一行指令即可。

    <?php phpinfo(); ?>  

MariaDB安装

  • 啟動 MariaDB Server,並讓它在開機後自動啟動。

    sudo systemctl restart mariadbsudo systemctl enable mariadb 
  • 進行一些安全性的調整。

    mysql_secure_installation
  • 完成之後,試著連線到 MariaDB Server,用 root 帳號的新密碼登入測試一下。

    mysql -u root -p 
  • 此外,為了讓 PHP 可以連接 MariaDB,要再額外安裝 PHP 的模組。

    sudo yum -y install php71-php-mysqlnd
  • 裝好之後,重新啟動 PHP-FPM。

    sudo systemctl restart php71-php-fpm
  • 重新打开info.php,查看mysql模块是否成功加载

安裝 phpMyAdmin

phpMyAdmin 會使用到 php-mcrypt 這個加密套件,如未安裝須安裝

  • 安装 php-mcrypt

    yum search php-mcrypt (选择自己正确的版本)
  • 安装PHPMyAdmin(本人建议到官网下载放进访问的目录)

    sudo pacman -S phpmyadmin   
  • 修改 phpMyAdmin 認證方式:

    [smalljacky@alarmpi ~]$ sudo vi /usr/share/webapps/phpMyAdmin/config.inc.php# 預設為 cookie$cfg['Servers'][$i]['auth_type'] = 'http';
  • 重啟 Nginx:

    [smalljacky@alarmpi ~]$ sudo systemctl restart nginx.service
  • 输入 IP/phpMyAdmin 就能成功访问。

如果浏览器打开出现如下错误:

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission de则修改报错信息文件的所有权,如下chown nginx:nginx /var/lib/php/session

原文地址:http://biyongyao.com/archives/230

阅读全文
0 0
原创粉丝点击