美文网首页
D-47网站服务架构部署(LNMP)

D-47网站服务架构部署(LNMP)

作者: 荆俊玮 | 来源:发表于2019-10-03 12:41 被阅读0次

    一、LNMP架构说明

    LNMT: linux nginx mysql tomcat
    LNMP: linux nginx mysql php/python
    LAMP: linux apache mysql php
    作用: 可以使用架构处理动态访问请求

    二、LNMP架构部署过程

    Linux :

    1. 系统安全服务需要关闭 selinux iptables
    2. 确认系统/tmp目录权限 1777

    nginx :

    1. 安装yum官方源nginx程序

    mysql/mariadb:

    1. 安装部署maraidb
      # 下载安装数据库程序软件
      yum install mariadb-server mariadb -y
      # 启动数据库程序服务进程
      systemctl start mariadb.service
      systemctl enable mariadb.service
      启动服务异常: 无法启动服务
      原因: 服务配置文件不正确
      cp /usr/share/mysql/my-small.cnf /etc/my.cnf

    数据库特殊的管理命令

    SQL语句(库 -- 表 -- 列/行(字段-数据信息))
    show databases; --- 查看所有数据库信息
    use 数据库名称; --- 切换数据库
    show tables; --- 查看库中所有表信息
    select * from user;--- 查看表中的数据信息

    数据库服务设置登录密码信息

    mysqladmin -uroot password "oldboy123" --- 设置密码或者修改密码
    mysql -uroot -poldboy123 ---登陆

    php: 解析动态请求的服务

    PHP服务部署 http://php.net/
    # 解决yum安装软件冲突问题
    yum remove php-mysql php php-fpm php-common
    # 准备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
    更新yum源之后,新生成的文件信息:
    webtatic-archive.repo/webtatic.repo/webtatic-testing.repo
    epel.repo.rpmnew/epel-testing.repo
    # 利用yum安装PHP相关软件信息
    yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
    # 修改php服务进程管理用户信息(建议修改的用户和nginx worker进程用户一致)
    vim /etc/php-fpm.d/www.conf
    8 user = nginx
    10 group = nginx
    # 启动运行php-fpm程序

    三、LNMP架构工作原理

    参见图示


    image.png

    四、LNMP架构配置过程

    第一个历程: 建立nginx--php通讯过程
    编写nginx配置
    server {
    listen 80;
    server_name blog.oldboy.com;
    location / {
    root /html/blog;
    index index.php index.html;
    }
    location ~ .php{ root /html/blog; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAMEdocument_rootfastcgi_script_name; include fastcgi_params; } }document_root:代表站点目录
    $fastcgi_script_name:代表站点目录下的数据信息
    SCRIPT_FILENAME:代表设定统一的变量信息
    include fastcgi_params:翻译设定的变量文件

    image.png
    1. 进行动态访问测试
      vim test_phpinfo.php
      <?php
      phpinfo();
      ?>

    第二个历程: php + mariadb建立联系 编写代码信息

    vim test_mysql.php
    <?php
         $servername = "localhost";
         $username = "root";
         $password = "oldboy123";
         //$link_id=mysql_connect('主机名','用户','密码');
         //mysql -u用户 -p密码 -h 主机
         $conn = mysqli_connect($servername, $username, $password);
         if ($conn) {
               echo "mysql successful by root !\n";
            }else{
               die("Connection failed: " . mysqli_connect_error());
            }
        ?>
    

    五、部署搭建动态网站页面

    第一个历程: 下载获取动态网站代码信息
    博客网站开源代码: wordpress --- blog.oldboy.com
    代码下载地址: https://cn.wordpress.org/download/
    论坛网站开源代码: discuz --- bbs.oldboy.com
    代码下载地址: https://www.discuz.net/thread-3796882-1-1.html
    官方网站开源代码: dedecms/phpcms --- www.oldboy.com
    phpcms http://www.phpcms.cn/html/download/phpcms/#content
    dedecms
    知乎网站开源代码: wecenter --- zhihu.oldboy.com

    第二个历程: 将代码信息进行上传/修改代码文件权限
    chown -R www.www /html/blog/

    第三个历程: 进行网站页面初始化/和网站数据库服务建立连接
    创建数据库信息:
    create database wordpress;

    创建管理数据库用户信息:
    grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
    select user,host from mysql.user;

    ps:在设置主题时,当主题大小超过1m时,出现报错,此时需要在主配置文件/etc/nginx/nginx.conf中的http模块内加入client_max_body_size 10m;此代码

    相关文章

      网友评论

          本文标题:D-47网站服务架构部署(LNMP)

          本文链接:https://www.haomeiwen.com/subject/kmvlyctx.html