网站建设具体详细过程,crm系统有哪些品牌,青岛高品质网站制作,四川德行天下建设工程有限公司网站LNMP#xff1a;目前成熟的一个企业网站的应用模式之一#xff0c;指的是一套协同工作的系统和相关软件
能够提供静态页面服务#xff0c;也可以提供动态web服务#xff0c;LNMP是缩写
L#xff1a;指的是Linux操作系统。
N#xff1a;指的是nginx#xff0c;nginx提…LNMP目前成熟的一个企业网站的应用模式之一指的是一套协同工作的系统和相关软件
能够提供静态页面服务也可以提供动态web服务LNMP是缩写
L指的是Linux操作系统。
N指的是nginxnginx提供网站服务前端的静态页面服务同时还有代理转发作用
转发后端请求转发到PHP。nginx没有处理动态资源的功能但是他有可以支持转发动态请求的模块。
M指的是mysql关系型数据库用于保留用户的账户密码。
P指的是PHP动态页面的编程语言负责解释动态网页文件和nginx以及数据库协同工作
主要作用是前端开发PHP作为中间键。 数据流向
客户端→nginx→PHP→mysql
nginx PHP mysql都是在Linux中
客户端用get方式请求到nginxnginx只能查看静态页面
当需要用户登录输入账户密码时有交互操作时为动态页面通过nginx支持PHP转发模块到PHP发起后端动态请求
PHP到mysqlsocket端口和数据库建立通信post数据传输给mysqlmysql查询数据库匹配账号和密码 需要用到编译安装用二进制包进行安装
yum安装只是安装基础服务模块其他模块要想用用户要手动重新添加
而编译安装可以自由的指定需要的模块在企业中nginxmysql都是编译安装、 论坛搭建实验
虚拟机内存一定要给到4G 把安装包拖进来 解压nginx安装包到当前文件夹 在真正的程序下面编译安装 ./configure \ 安装 --prefix/usr/local/nginx \ 指定安装包路径 --usernginx \ 指定哪个用户可以打开nginx --groupnginx \ 指定所在的组为nginx --with-http_stub_status_module 可以支持查看http请求状态的模块 创建nginx的程序用户 -M不需要家目录 不需要登录 安装 -j 4指定使用4个cpu核安装提高安装速度 真正的安装的nginx程序所在的地方opt目录下的那个只是一个源码包 建一个软连接优化路径 要到sbin里面 添加到系统服务当中 给权限 小技巧用nginx -t看语法和配置文件是否有问题 重启 验证一下nginx是否有问题 下面安装数据库mysql 安装依赖环境 创建运行用户 编译安装先到opt目录下解压mysql包 到源码目录里进行操作所有的操作都在mysql包里进行操作 设置数据库配置的过程 -DCMAKE_INSTALL_PREFIX/usr/local/mysql \ #指定mysql的安装路径 -DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件数据库连接文件的存储路径 -DSYSCONFDIR/etc \ #指定配置文件的存储路径 -DSYSTEMD_PID_DIR/usr/local/mysql \ #指定进程文件的存储路径 -DDEFAULT_CHARSETutf8 \ #指定默认使用的字符集编码如utf8 -DDEFAULT_COLLATIONutf8_general_ci \ #指定默认使用的字符集校对规则 -DWITH_INNOBASE_STORAGE_ENGINE1 \ #安装INNOBASE存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE1 \ #安装ARCHIVE存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE1 \ #安装BLACKHOLE存储引擎 -DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ #安装FEDERATED存储引擎 -DMYSQL_DATADIR/usr/local/mysql/data \ #指定数据库文件的存储路径 -DWITH_BOOSTboost \ #指定boost的路径 -DWITH_SYSTEMD1 #生成便于systemctl管理的文件 在编译安装mysql前检查一下内存是否够用如果不够用可以用echo 1 /proc/sys/vm/drop_caches 这个命令来清理内存防止在编译安装时报错 安装 配置数据库文件 其中模块组件NO_ENGINE_SUBSTITUTION 如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常 STRICT_TRANS_TABLES 在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制 NO_AUTO_CREATE_USER 禁止:GRANT创建密码为空的用户 NO_AUTO_VALUE_ON_ZERO mysql中的自增长列可以从o开始。默认情况下自增长列是从1开始的如果你插入值为0的数据会报错 NO_ZERO_IN_DATE mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告 ERROR_FOR_DIVISION_BY_ZERO 在INSERT或UPDATE过程中如果数据被零除则产生错误而非警告。默认情况下数据被零除时MysQL返回NULL IPES_AS_CONCAT 将||视为字符串的连接操作符而非或运算符这和oracle数据库是一样的 ANSI QUOTES 启用ANSI QUOTES后不能用双引号来引用字符串因为它被解释为识别符 更改mysql安装目录和配置文件的属主属组 把mysql的环境变量写到系统配置文件etc/profile里面去实现全局配置对所有终端都生效让系统来进行识别 立即生效 对数据库的数据初始化 把配置文件复制到usr/lib/systemd/system下面 对数据库的数据初始化 --initialize-insecure \就是初始化 --usermysql \ 用户指定mysql --basedir/usr/local/mysql \ --datadir/usr/local/mysql/data 把mysql目录和mysql数据存储文件都进行初始化 把配置文件复制到usr/lib/systemd/system下面 重新加载配置 重启MySQL服务 给数据库设置密码用户名为root密码为123456 如果设置密码报错,解决步骤如下 添加skip-grant-tables #免密登录 保存退出后 不用输入密码直接回车 重新设置密码 回到配置文件中删除免密登录的命令 重启mysql服务这时可以用密码123456进行登录 打开Navicat 点击连接连接名随便起主机名要改成服务器的地址 进行连接测试报错因为没有给远程连接工具的访问权限 grant all privileges on *.* to root% identified by 123456; 有分号 #授予root用户可以在所有终端远程登录使用的密码是123456并对所有数据库和所有表有操作权限 grant赋权语句
all privileges所有权限 selectcreateinsertupdatedeletedrop ,授予root用户可以操作所有数据库当中的所有的表
root指定用户 %所有主机都拥有连接数据库的权限
identified by 123456 用户登录时需要输入密码密码是123456 flush privileges; 刷新权限 最好刷新一下 再到Navicat里面看一下连接成功 使用一下Navicat输入几条查询语句右键可以选择运行已选择的 下面到处理中间键的PHP部分 安装环境依赖包 到opt目录下 解压源码包 进入php源码包中 --prefix/usr/local/php: 指定PHP的安装目录为/usr/local/php。 --with-mysql-sock/usr/local/mysql/mysql.sock: 指定MySQL的Unix socket文件路径用于与MySQL数据库建立连接。 --with-mysqli: 启用MySQLi扩展用于支持MySQL数据库。 --with-zlib: 启用Zlib库用于压缩和解压缩数据。 --with-curl: 启用cURL库用于支持对URL的操作如下载文件等。 --with-gd: 启用GD库用于处理图像。 --with-jpeg-dir: 指定JPEG库的路径用于GD库对JPEG格式图片的处理。 --with-png-dir: 指定PNG库的路径用于GD库对PNG格式图片的处理。 --with-freetype-dir: 指定FreeType库的路径用于GD库对字体的支持。 --with-openssl: 启用OpenSSL库用于支持SSL加密和HTTPS协议。 --enable-fpm: 启用PHP-FPMFastCGI Process Manager用于提供更高效的PHP进程管理和请求处理。 --enable-mbstring: 启用多字节字符串支持用于处理多字节字符集的操作。 --enable-xml: 启用XML支持用于处理XML文档和数据。 --enable-session: 启用会话支持用于在不同页面间保持用户会话状态。 --enable-ftp: 启用FTP支持用于对FTP服务器进行操作。 --enable-pdo: 启用PDOPHP Data Objects用于支持数据库访问的统一接口。 --enable-tokenizer: 启用Tokenizer扩展用于对字符串进行分词处理。 --enable-zip: 启用Zip扩展用于对ZIP文件进行操作。 安装前查看一下内存是否够不够就清理一下内存防止报错 安装一下 把bin里面的和sbin里面的文件都优化一下 补充调整PHP配置文件 php有三个配置文件 php.ini 主配置文件 php-fpm.conf 进程服务配置文件 www.conf 扩展配置文件 把名字改一下 修改配置文件 939gg 取消注释把时区改了 1170gg告诉php通信的配置文件在/usr/local/mysql/mysql.sock
以上为对php的主配制文件进行修改 看安装模块是否正常 修改进程服务配置文件 改名 把pid号文件取消注释 www.conf是扩展配置文件 给www.conf.default改个名字 启动php-fpm php默认端口号为9000
这个时候php就启动好了 复制做备份 重启php服务 看一下端口号是否正确 下面回到nginxnginx本身不能处理动态请求动态请求交给PHP 修改nginx配置文件 取消注释 代表当前请求在root指令中指定的值 $document_root/usr/local/nginx/html指定默认路径 $fastcgi_script_name index.php 把指定的默认路径传给php /usr/local/nginx/html 所有的动态请求文件的默认位置 请求的文件名为index.php 检测配置文件修改是否正确 修改完要重启服务 接下来验证一下php的验证页 默认请求的目录都在这个下面创建一个动态请求的页面 一个简单的验证PHP测试页 测试一下页面这就是获取到的php动态页面 配置数据库 进入数据库 创建一个数据库名字叫bbs 查看一下是否创成功 开始赋权只要用户名叫bbsuser给他所有的权限登录密码为admin123 本地用户登录也需要输入密码admin123 把权限刷新一下 改配置文件测试一下php服务和数据库之间的通信是否正常 PHP脚本 使用mysqli_connect()函数连接到MySQL数据库服务器。 192.168.88.20表示MySQL服务器的IP地址。 bbsuser表示要连接的MySQL用户。 admin123表示MySQL用户的密码。 判断连接状态 如果连接成功即$link不为空就输出h1Success!!/h1显示Success!!这个标题。 如果连接失败即$link为空就输出Fail!!显示Fail!!这个信息。 该脚本的目的是测试连接到MySQL数据库服务器的状态。如果连接成功 将显示Success!!如果连接失败将显示Fail!! 最后一步部署论坛 在opt目录下解压论坛的数据包 把整个目录复制到页面配置页面下面nginx/html
起个名字叫bbs 把所有者改成nginx ./config/ 把数据文件所有者改了 把客户端所有者目录改掉 把服务端所有者目录改掉 赋权 ll看一下是否有问题下面通过网页进行论坛访问 所有的两边都要是打勾的 密码都为admin123 因为要写到绝对路径上才可以进行访问 管理员账户登录成功 可以进行管理