Linux动态网站架构(部署开发php代码)

news2025/1/19 7:51:28

动态网站架构(部署开发php代码)

  1. 测试能否直接部署nginx
  2. 需要什么服务,及原理
  3. 准备并进行开发测试
  4. 部署代码

概述

静态网站:图片仅仅包含:html,css样式js脚本,图片及视频;nginx直接处理的资源静态资源

  • 只需要web服务器即可:nginx,可以承受较高的访问量;不支持动态的功能注册,评论及静态网站功能单一

  • 浏览器解析(客户端解析),服务端仅仅负责发送

动态网站:动态网站一般是通过开发语言实现:java,php,python,golang

  • 动态资源页面需要,服务器进行处理nginx+php、tomact+数据库处理好结果返回给用户
  • 动态请求需要服务端进行处理与解析,结果给用户

区分静态资源与动态资源:
1.通过url简单、初步判断,网站类型
2.url中包含&或?一般是动态网站

常见动态网站的架构

php:LNMP(LEMP),LAMP,WNMP/WAMP
java:LNMT(Tomact,jetty,weblogic,jboss)
python:LNMP(python,uwsgi)
golang :LNMG(golang)
c、c++:LNM?。

LNM?
linux系统 nginx web服务 mysql、mariadb数据库
lamp a–》apache目前很少用
wnmp/wamp w-windows一般开发使用

lnmp架构过程

在这里插入图片描述

1.数据库

[root@db01 ~]#yum install -y mariadb-server

cd  /tmp

[root@db01 /tmp]#yum localinstall *.rpm
[root@db01 /tmp]#systemctl enable mariadb.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@db01 /tmp]#systemctl start  mariadb.service 

检查:
ss -lntup |grep mysql
在这里插入图片描述
ps -ef |grep mysql

  • 数据库安全配置(SQL语句实现,现在通过脚本命令实现)
mysql_secure_installation ##仅仅刚安装的时候运行,进首次运行即可

用于设置root密码,清理用户和清理临时库

在这里插入图片描述
在这里插入图片描述

linux系统的root与数据库的root
2个独立的用户
Linux的root用户进入和管理整个linux系统
数据库的root用户仅仅是用于管理mysql数据库
进入数据库内部
mysql -uroot -p123

在这里插入图片描述

  • 查看
  • 查看系统所有的数据库
    show databases;
  • 查看里的表
    show tables from mysql
    在这里插入图片描述
  • 查看库里的表的user列和host列(列==字段)查看数据库的用户信息
select 字段1,字段2  from 库 .表;

select user ,host from  库.表

show tables from mysql

在这里插入图片描述
在这里插入图片描述
host:白名单
在这里插入图片描述
创建

create database wulin;

在这里插入图片描述
创建用户,后面通过用户管理数据库

grant all               on   wulin.*   to 'wulin'@'localhost'      indentified  by '123';

grant  all              on   wulin.*   to 'wulin'@'172.16.1.%'      indentified by  '123';

grant  所有权限        on    数据库.*   to '用户名'@'白名单'

在这里插入图片描述

数据库白名单:
白名单表示用户可以从哪里进行登录并且使用数据库
一般localhost表示只能在数据库本地使用
可以通过172.16.1.% 进行授权局域网访问,其他局域网机器可以访问数据库
只给个%表示所有人可以访问(不安全)%不包含localhost

删除(危险)

drop database wulin;

删除用户

     drop user 'wulin'@'172.16.1.%' ;

​     drop user 'wulin'@'localhost' ;

在这里插入图片描述
在这里插入图片描述

[root@web01 ~]#yum localinstall -y mariadb-server-5.5.68-1.el7.x86_64.rpm

在这里插入图片描述

php

在这里插入图片描述

php 7.x
#生产环境选择,根据开发书写代码环境
/etc/yum.repos.d/php.repo
[webtatic-php]
name = php Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64
enabled = 1
gpgcheck = 0



[root@web01 ~]#yum install -y php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mcrypt php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-pecl-memcached php72w-pecl-redis php72w-pecl-mongodb

启动:nginx,php-fpm

[root@web01 ~]#systemctl enable php-fpm.service 

[root@web01 ~]#systemctl start php-fpm.service 
检查端口和进程
[root@web01 ~]#ss -lntup |grep php

在这里插入图片描述

[root@web01 ~]#ps -ef |grep php-fpm`

在这里插入图片描述
apache与nginx都要读取网站

[root@web01 ~]#vim /etc/php-fpm.d/www.conf

[root@web01 ~]#egrep ‘user|grep’ /etc/php-fpm.d/www.conf

[root@web01 ~]#egrep ‘user|group’ /etc/php-fpm.d/www.conf
在这里插入图片描述

[root@web01 ~]#egrep  -n '^user|^group' /etc/php-fpm.d/www.conf 
8:user = apache
10:group = apache
[root@web01 ~]#vim +8 /etc/php-fpm.d/www.conf 

在这里插入图片描述

nginx

配置nginx指定用户
在这里插入图片描述
重启:
在这里插入图片描述

配置nginx文件及站点目录

[root@web01 ~]#vim /etc/nginx/conf.d/blog.wulinlinux.cn.conf

在这里插入图片描述
检查
在这里插入图片描述

[root@web01 ~]#systemctl reload nginx.service

旧新版本下载:
Release Archive – WordPress.org China 简体中文

https://cn.wordpress.org/download/releases/
在这里插入图片描述
[root@web01 ~]#unzip -t wordpress-6.2.1-zh_CN.zip

[root@web01 ~]#mv wordpress/* /app/code/blog/

[root@web01 ~]#chown -R nginx.nginx /app/code/blog/

部署代码及设置权限

  • 上面进行下载解压,部署代码
  • 页面进行安装
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    现在用户访问网站—没有防火墙—没有负载–直接到web服务器 —文字内容在数据库-----图片内容未来要放到存储,现在还在web服务器上
    在这里插入图片描述
    未来就把uploads挂载到存储即可!文字未来需要问开发具体放到哪里!

在这里插入图片描述

select * from wulin.wp_posts ;

在这里插入图片描述
在这里插入图片描述

排错与调试

测试nginx静态页面

<?php
phpinfo()
?>
在这里插入代码片
  • 测试php+nginx

  • 测试php+mysql

<?php

数据库地址

$db_host='172.16.1.51';

数据库名称

$db_user='wordpress';

$db_pass='123';

$link_id=mysqli_comment($db_host, $db_usr, $db_pass);

if($link_id){

echo "mysql successful by wulin!\n";

}else{

 echo"connection failed!\n";

}

常见故障

  1. 权限问题
    无法写入wp-config.php文件

解决方式:手动创建wp-config.php文件,

<?php
/**
 * The base configuration for wordpress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don'not have to use the web site,you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the folowing configurations:
 *
 * * Dtabase settings
 * * Secret keys
 * * ABSPATH
 *

完成后进行运行安装程序

  1. 数据库连接问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1853087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产测温速度快且功耗低的温度传感芯片MY18E20可Pin-Pin替换DS18B20

MY18E20是一款国产高精度可编程的数字模拟混合信号温度传感芯片&#xff1b;感温原理基于CMOS半导体PN节温度与带隙电压的特性关系&#xff0c;经过小信号放大、模数转换、数字校准补偿后&#xff0c;数字总线输出&#xff0c;具有精度高、一致性好、测温快、功耗低、可编程配置…

硕思闪客精灵软件安装包下载+详细安装教程

​有目共睹的是闪客精灵专业版的优势&#xff1a;能够安装一台电脑&#xff0c;终身免费升级。根据大数据结果显示闪客精灵支持将不带脚本的Flex生成的SWF导出为Flex文件。从大部分从业者反应来看它能反编译Flash的所有元素,并且支持动作脚本 AS3.0&#xff0c;使用闪客精灵专业…

对接Shopify电商平台的流程

对接Shopify平台的流程通常包括以下关键步骤&#xff0c;在整个对接过程中&#xff0c;需要密切关注Shopify的API使用限制、认证机制、数据隐私政策等&#xff0c;确保应用的安全性和合规性。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合…

【ajax基础】回调函数地狱

一&#xff1a;什么是回调函数地狱 在一个回调函数中嵌套另一个回调函数&#xff08;甚至一直嵌套下去&#xff09;&#xff0c;形成回调函数地狱 回调函数地狱存在问题&#xff1a; 可读性差异常捕获严重耦合性严重 // 1. 获取默认第一个省份的名字axios({url: http://hmaj…

大厂面试官问我:布隆过滤器有不能扩容和删除的缺陷,有没有可以替代的数据结构呢?【后端八股文二:布隆过滤器八股文合集】

往期内容&#xff1a; 面试官问我&#xff1a;Redis处理点赞&#xff0c;如果瞬时涌入大量用户点赞&#xff08;千万级&#xff09;&#xff0c;应当如何进行处理&#xff1f;【后端八股文&#xff08;1&#xff09;】-CSDN博客 本文为【布隆过滤器八股文合集】初版&#xff0c…

即时通讯怎么选?企业im即时通讯内部内网办公软件

在现代办公环境中&#xff0c;企业内部使用IM即时通讯软件已经成为提高沟通效率、促进团队协作的重要工具。选择适合企业内网办公的IM即时通讯软件是至关重要的。本文将就如何选择企业内网办公IM即时通讯软件展开讨论。 1. 确定需求和功能 在选择企业内网办公IM即时通讯软件之…

stm32学习笔记---GPIO输入(理论部分)

目录 GPIO输入模式下的硬件和电路 按键原理 传感器原理 什么是上下拉电阻&#xff1f; 运算放大器当做比较器 按键的硬件电路 传感器的硬件电路 STM32用到的C语言知识 STM32中的C语言数据类型 C语言中的宏定义 typedef和define的区别是什么&#xff1f; C语言的枚举…

UltraEditUEStudio软件安装包下载及安装教程

​根据软件大数据显示提供预定义的或使用者创建的编辑“环境”&#xff0c;能记住 UltraEdit 的所有可停靠窗口、工具栏等的状态。实际上我们可以这样讲HTML 工具栏&#xff0c;对常用的 HTML 功能作了预配置;文件加密/解密;多字节和集成的 IME。根据使用者情况表明Git Editor&…

【GD32】从零开始学兆易创新32位微处理器——RTC实时时钟+日历例程

1 简介 RTC实时时钟顾名思义作用和墙上挂的时钟差不多&#xff0c;都是用于记录时间和日历&#xff0c;同时也有闹钟的功能。从硬件实现上来说&#xff0c;其实它就是一个特殊的计时器&#xff0c;它内部有一个32位的寄存器用于计时。RTC在低功耗应用中可以说相当重要&#xf…

#APPINVENTOR学习记录

https://code.appinventor.mit.edu/https://code.appinventor.mit.edu/ 图片资源下载&#xff1a; 图标下载,ICON(PNG/ICO/SVG/矢量) easyicon 免费下载 - 爱给网 (aigei.com)https://www.aigei.com/icon/class/ 一、启动界面与屏幕传值 1.一定要留空白第一个页面&#xff0…

极速下载,尽在Gopeed — 现代全能下载管理器

Gopeed&#xff1a;用Gopeed&#xff0c;让下载变得简单而高效。- 精选真开源&#xff0c;释放新价值。 概览 Gopeed是一个用Go语言编写的现代下载管理器&#xff0c;支持跨平台使用&#xff0c;包括Windows、macOS、Linux等。它不仅提供了基本的下载功能&#xff0c;还通过内…

《计算机英语》 Unit 4 Information Management 信息管理

Section A Information Storage 信息存储 1. The importance of Information信息的重要性 词汇 reside vi属于&#xff0c;驻留 tablet n平板电脑 laptop n笔记本电脑 repository n仓库 claim n索赔 regulatory n法规 contractua…

LoRaWAN网关源代码分析(基础概念篇)

目录 一、简介 1、lora_gateway 2、packet_forwarder 二、目录结构 1、lora_gateway 2、packet_forwarder 一、简介 LoRaWAN网关的实现主要依赖两个源代码&#xff1a;lora_gateway和packet_forwarder。接下来&#xff0c;我们将从分析源代码入手&#xff0c;移植LoRaWAN源…

[C++][设计模式]介绍

目录 1.设计模式1.何为设计模式&#xff1f;2.深入理解面向对象3.软件设计的目标4.三大模式及其特点5.设计模式分类 2.面向对象设计原则1.为什么要面向对象2.重新认识面向对象3.面向对象设计原则4.C对象模型 3.重构1. 重构获得模式(Refactoring to Patterns)2.重构关键技法 4.代…

Netty ByteBuf 使用详解

文章目录 1.概述2. ByteBuf 分类3. 代码实例3.1 常用方法3.1.1 创建ByteBuf3.1.2 写入字节3.1.3 扩容3.1.2.1 扩容实例3.1.2.2 扩容计算新容量代码 3.1.4 读取字节3.1.5 标记回退3.1.6 slice3.1.7 duplicate3.1.8 CompositeByteBuf3.1.9 retain & release3.1.9.1 retain &a…

网络通信架构

BS架构/CS架构 使用协议分别对应&#xff1a; TCP / HTTP 在计算机网络和软件开发中&#xff0c;CS架构&#xff08;Client-Server Architecture&#xff0c;客户端-服务器架构&#xff09;和BS架构&#xff08;Browser-Server Architecture&#xff0c;浏览器-服务器架构&am…

【5G核心网】5G NWDAF(Network Data Analytics Function)网元功能介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…

高级IO操作

高级I/O操作与非阻塞I/O 在操作系统中&#xff0c;I/O&#xff08;输入/输出&#xff09;操作是所有实现的基础。本文将探讨阻塞I/O与非阻塞I/O的区别&#xff0c;以及如何使用有限状态机来实现非阻塞I/O&#xff0c;并介绍数据中继的概念。 阻塞I/O与非阻塞I/O 阻塞I/O 阻…

Day7 —— 大数据技术之Hive

Hive快速入门系列 Hive的概述什么是Hive&#xff1f;使用Hive的原因 Hive架构Hive安装Hive配置文件修改启动Hive以命令行方式启动&#xff08;在$HIVE_HOME/bin目录下&#xff09;以JDBC连接启动&#xff08;beeline方式连接&#xff09; Hive基本操作Hive数据库操作Hive表操作…

小柴带你学AutoSar系列一、基础知识篇(6)车规级MCU入门RH850

flechazohttps://www.zhihu.com/people/jiu_sheng 小柴带你学AutoSar总目录https://blog.csdn.net/qiansh