MySQL数据库之Ubuntu18.04 + MySQL + phpMyAdmin + Nginx
小标 2018-11-21 来源 : 阅读 896 评论 0

摘要:本文主要向大家介绍了MySQL数据库之Ubuntu18.04 + MySQL + phpMyAdmin + Nginx ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之Ubuntu18.04 + MySQL + phpMyAdmin + Nginx ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

Ubuntu18.04 + MySQL + phpMyAdmin + Nginx

安装 软件

apt install nginx
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php7.2 php-fpm php-mysql php-mbstring
apt-get install mysql-server
apt-get install phpmyadmin

安装完php7.2 , 配置环境在  /etc/php/7.2/fpm 内有两个重要配置文件

php.ini

设置 short_open_tag = On

extension_dir = "/usr/lib/php/20170718"

开启对mysql的支持:extension=mysqli.so,extension=pdo_mysql.so

设置''cgi.fix_pathinfo=0''

php-fpm.conf

引入配置文件 include=/etc/php/7.2/fpm/pool.d/*.conf 在 /etc/php/7.2/fpm/pool.d/ 目录下 有个 www.conf 文件

在 www.conf 找到 listen = /run/php/php7.2-fpm.sock, 后面配置 nginx 需要用到

重启 php-fpm7.2

/etc/init.d/php7.2-fpm restart##  orsystemctl enable php7.2-fpm
systemctl restart php7.2-fpm

MySQL5.7 默认 root 没有密码,不允许远程访问,需要命令创建新用户

参考资料 https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

Connect to mysql

sudo mysql --user=root mysql

Create a user for phpMyAdmin

CREATE USER 'demo'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'demo'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Optional: allow remote connections

CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

安装后的 的phpmyadmin 目录是在 /usr/share/phpmyadmin

我们需要在 /var/www/ 目录下 创建一个软链接

ln -s /usr/share/phpmyadmin /var/www/

编写 phpmyadmin.conf 配置文件, 在 /etc/nginx/sites-available 目录下

server{
      listen 80;
      root    /var/www/phpmyadmin;
      index   index.php;
      server_name phpmyadmin.example.top;
      rewrite ^(.*)$  https://$host$1 permanent;
  }

  server{
      access_log /var/www/logs/phpmyadmin_access.log;
      error_log /var/www/logs/phpmyadmin_error.log;
      listen 443 ssl http2;
      root    /var/www/phpmyadmin;
      index   index.php;
      add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
      ssl         on;
      ssl_certificate     /root/.acme.sh/*.example.top/fullchain.cer;
      ssl_certificate_key /root/.acme.sh/*.example.top/*.example.top.key;      #ssl_certificate        /root/.acme.sh/example.top/fullchain.cer;
      #ssl_certificate_key    /root/.acme.sh/example.top/example.top.key;
      ssl_prefer_server_ciphers   on;
      ssl_session_timeout 10m;
      ssl_protocols   TLSv1.2 TLSv1.3;
      ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:EECDH+ECDSA+AES128:EECDH+aRSA+AES128!MD5;
      server_name phpmyadmin.example.top;      #location / {
      #   index index.html;
      #   root /var/www/html;
      #}

      #location /phpmyadmin{
      location / {
          index index.php;
          root /var/www/phpmyadmin/;          #try_files $uri $uri/ /phpmyadmin/index.php?$args;
      }

      location ~ .php$ {
          root /var/www/phpmyadmin/;
          fastcgi_pass unix:/run/php/php7.2-fpm.sock;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
      }

      location ~ .(htm|html|gif|jpg|png|js|css)$ {
          root /var/www/phpmyadmin/;
      }

  }

测试Nginx配置的正确语法:

  sudo nginx -t

nginx 重新加载

   systemctl restart nginx

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程