LNMP架构及应用部署(搭建电影网站)

news2024/11/17 11:52:44

目录

一、安装nginx

        1、关闭防火墙和selinux

        2、安装依赖软件

        3、创建管理nginx用户

        4、解压源码包

        5、安装nginx

        6、优化nginx命令

        7、检测配置文件是否有错误

        8、启动nginx

        9、编辑nginx脚本(可根据自己需求编辑)

二、安装mysql数据库

        1、先查看有没有libaio依赖包

        2、上传MySQL二进制安装包解压、安装

        3、添加用户和组

        4、初始化数据库

        5、进入主配置文件

        6、启动服务

        7、更改MySQL数据库登陆密码

三、安装PHP

        1、安装依赖包

        2、上传PHP安装包

        3、命令优化

        4、上传 zend -loader安装包

        5、编辑配置文件

         7、创建用户并启动

        8、进入nginx主配置文件

         9、重启nginx

        10、编写测试文件

 四、部署电影网站

        1、解压安装

        2、添加属主属组

        3、创建数据库和授权用户

        4、访问


一、安装nginx

        1、关闭防火墙和selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F 

        2、安装依赖软件

[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++ lrzsz

        3、创建管理nginx用户

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

        4、解压源码包

[root@localhost ~]# rz
[root@localhost ~]# tar xf nginx-1.16.0.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/nginx-1.16.0/
[root@localhost nginx-1.16.0]#

        5、安装nginx

[root@localhost nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --user=nginx
[root@localhost nginx-1.16.0]# make && make install

        6、优化nginx命令

[root@localhost ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

        7、检测配置文件是否有错误

[root@localhost ~]# nginx -t

        8、启动nginx

[root@localhost ~]# nginx

        9、编辑nginx脚本(可根据自己需求编辑)

[root@localhost etc]# vim /etc/init.d/nginx
#!/bin/bash
#chkconfig:2345 99 20
# description: Nginx Server Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
PROG_FPM="/usr/local/sbin/php-fpm"
PIDF_FPM="/usr/local/php5/var/run/php-fpm.pid"

case "$1" in
start)
        $PROG 
        $PROG_FPM
;;
stop)
        kill -s QUIT $(cat $PIDF)
        kill -s QUIT $(cat $PIDF_FPM)
;;
restart)
        $0 stop
        $0 start
;;
reload)
        kill -s HUP $(cat $PIDF)
;;
*)
        echo "Usage: $0 (start|stop|restart|reload)"
        exit 1
esac
exit 0
[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx                    #优化命令

二、安装mysql数据库

        1、先查看有没有libaio依赖包

[root@localhost conf]# yum -y install libaio

        2、上传MySQL二进制安装包解压、安装

[root@localhost ~]# tar xf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local      	#解压MySQL
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv mysql-5.7.24-linux-glibc2.12-x86_64/ mysql	  #改名字

        3、添加用户和组

[root@localhost local]# useradd -s /sbin/nologin mysql
[root@localhost local]# cd mysql/
[root@localhost mysql]# chown -R mysql:mysql ./	            #将当前目录下的用户和组都递归给入权限

        4、初始化数据库

[root@localhost ~]# /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize	        #将初始化完成后的最后那串密码给保存下来

        5、进入主配置文件

[root@localhost mysql]# vim /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock

[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid

        6、启动服务

[root@localhost mysql]# ./support-files/mysql.server start

[root@localhost mysql]#  cp support-files/mysql.server /etc/init.d/mysqld	        #将
MySQL服务加入到系统服务当中

[root@localhost mysql]# chmod +x /etc/init.d/mysqld	              #将脚本加入执行权限

[root@localhost ~]# chkconfig --add mysqld	                      #优化命令

[root@localhost ~]# systemctl start mysqld	                      #启动

[root@localhost ~]# ln -s /usr/local/mysql/bin/* /usr/bin/	

        7、更改MySQL数据库登陆密码

[root@localhost ~]# mysqladmin -uroot -p'T;PNK1Odu:i<' password 123456	    #修改MySQL密码
[root@localhost ~]# mysql -uroot -p123456         #登录MySQL

三、安装PHP

        1、安装依赖包

[root@localhost ~]# yum -y install gd libxml2-devel.x86_64 libjpeg-devel libpng-devel

        2、上传PHP安装包

[root@localhost ~]# tar xf php-5.6.39.tar.gz -C /usr/src         #解压安装包

[root@localhost ~]# cd /usr/src/php-5.6.39/                      #进入到解压路径

[root@localhost php-5.6.39]# ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jbeg-dir=/usr/lib && make && make install		                                             #进行安装

[root@localhost php-5.6.39]# cp php.ini-production /usr/local/php5/php.ini	                #准备配置文件

        3、命令优化

[root@localhost php-5.6.39]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@localhost php-5.6.39]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/

        4、上传 zend -loader安装包

[root@localhost ~]# tar xf zend-loader-php5.6-linux-x86_64_update1.tar.gz 	        #解压
[root@localhost ~]# cd zend-loader-php5.6-linux-x86_64/	            #进入解压路径
[root@localhost zend-loader-php5.6-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php         #复制

        5、编辑配置文件

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1                                                #在底部写入两行

[root@localhost zend-loader-php5.6-linux-x86_64]# cd /usr/local/php5/etc/


[root@localhost etc]# mv php-fpm.conf.default php-fpm.conf	        #改文件名
[root@localhost etc]# vim php-fpm.conf                              #进入主配置文件
149行 user = php
150行 group = php
241行 pm.max_children = 50
246行 pm.start_servers = 20
251行 pm.min_spare_servers = 5
256行 pm.max_spare_servers = 35

         7、创建用户并启动

[root@localhost etc]# useradd -M -s /sbin/nologin php
[root@localhost etc]# /usr/local/sbin/php-fpm

        8、进入nginx主配置文件

[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf


添加一个location
location ~ \.php$ {
            root html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }

 在location也要加一个index.php

         9、重启nginx

[root@localhost html]# systemctl restart nginx

        10、编写测试文件

[root@localhost html]# vim /usr/local/nginx/html/php.php	

<?php
phpinfo();
?>

        客户端浏览http://192.168.2.222/php.php

 连接MySQL

[root@localhost html]# vim /usr/local/nginx/html/mysql.php	

<?php
$link=mysqli_connect('localhost','root','123456');
if($link) echo"<h1>大功告成</h1>";
mysqli_close();
?>

访问:http://192.168.2.222/mysql.php

 四、部署电影网站

        1、解压安装

[root@localhost ~]# unzip SKYUC.v3.4.2.SOURCE.zip
[root@localhost ~]# cd SKYUC.v3.4.2.SOURCE
[root@localhost SKYUC.v3.4.2.SOURCE]# rm -rf /usr/local/nginx/html/*
[root@localhost SKYUC.v3.4.2.SOURCE]# cp -rf wwwroot/ /usr/local/nginx/html/
[root@localhost SKYUC.v3.4.2.SOURCE]# cd /usr/local/nginx/html 

        2、添加属主属组

[root@localhost html]#cd wwwroot
[root@localhost wwwroot]# chown -R php:php admincp/ data/ templates/ upload/ 

        3、创建数据库和授权用户

 [root@localhost html]# mysql -u root -p123456
  mysql> create database skyuc;
  mysql> grant all on skyuc.* to skyuc@localhost identified by '123';
  mysql> flush privileges;

        4、访问

http://192.168.2.222/wwwroot/index.php

 

 

 配置完成删除/usr/local/nginx/html/wwwroot/目录下的install目录,防止下次登录清除网站界面信息

登陆后台入口

 

客户端访问页面 

 

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

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

相关文章

Java安全——数字签名

Java安全 数字签名 签名类 签名的jar文件可以通过Java的jarsigner工具进行管理。jarsigner工具使用密钥库中的信息来查找特定的实体&#xff0c;并使用这些信息对jar文件进行签名或验证签名。 要创建签名的jar文件&#xff0c;我们可以使用以下命令&#xff1a; jarsigner…

游戏引擎的cpu/gpu粒子系统设计思想

开篇 网上有很多篇粒子系统源码解析&#xff0c;但是只是简单的接口罗列&#xff0c;没有从最原理出发去讲清楚粒子系统的来龙去脉&#xff0c;我将从粒子系统的本质去讲清楚它的设计理念&#xff0c;当理解了它的理念以后&#xff0c;很多粒子遇到的问题就会迎刃解决了&#…

常用的 Vs Code插件

推荐下自己在使用的 vs code 插件 1. Vue VSCode Snippets / Vue 3 Snippets 功能&#xff1a; 提供vue 相关代码块 2. Git History 功能&#xff1a;查看文件git提交历史 用法&#xff1a;右键你想要查看的文件&#xff0c;选 Git:Open File History 3. GitLens — Git …

LVS+Keepalived架构(负载均衡高可用集群)

一、高可用简介 普通的群集的部署是通过一台调度器控制调配多台节点服务器进行业务请求的处理&#xff0c;但是仅仅是一台调度器&#xff0c;就会存在极大的单点故障风险&#xff0c;当该调度器的链路或则调度器本身出现故障时&#xff0c;就会导致整个业务的无法正常进行 而高…

超越传统标注方法:doccano平台提供智能化数据标注解决方案

目录 前言一、doccano的介绍、安装1-1、doccano的介绍1-2、doccano的安装、初始化配置 二、序列标注任务2-1、登录2-2、创建任务2-3、数据上传2-4、添加标签2-5、任务标注2-6、数据导出 总结 前言 Doccano是一种用于文本标注的开源工具&#xff0c;旨在简化和加速标注任务的进行…

RocketMQ5.0--定时消息

RocketMQ5.0–定时消息 一、定时消息概览 定时消息或延迟消息是指消息发送到Broker后&#xff0c;并不立即被消费而是要等到特定的时间后才能被消费。RocketMQ并不支持任意的时间精度延迟&#xff0c;只支持特定延迟时间的延迟消息。 消息延迟级别在Broker端通过MessageStore…

vue中控制element表格列的显示与隐藏

背景 根据‘执行进度计算方式’的单选框里面的选项不同&#xff0c;展示不同的column 按最小制剂单位统计: 按含量统计: 实现方式 就是拿到选项框里面的值&#xff0c;再根据里面的值来判断哪些column显示和隐藏&#xff1b;关于显示和隐藏可以设置变量&#xff1b; <…

SpringBoot原理分析 | Spring Data整合:JDBC、Druid、Mybatis

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Spring Data Spring Data是一个用于简化数据库访问和操作的开源框架&#xff0c;为开发人员提供了一种通用的方式来处理不同类型的数据存储&#xff0c;例如关系型数据…

android13(T) Settings 主页面 Suggestion 菜单源码分析

1、什么是 Suggestion 菜单 呐&#xff0c;下面这个就是 Suggestion 菜单&#xff0c;一般出现在设置主界面最上方位置。 出现时机需要满足三个条件&#xff0c;1、设备不是 LowRam 设备 2、启用 settings_contextual_home 特性 3、在开机一定时间后(一般是几天&#xff0c;具…

山西电力市场日前价格预测【2023-07-08】

日前价格预测 预测明日&#xff08;2023-07-08&#xff09;山西电力市场全天平均日前电价为341.87元/MWh。其中&#xff0c;最高日前电价为871.53元/MWh&#xff0c;预计出现在22: 15。最低日前电价为143.16元/MWh&#xff0c;预计出现在13: 30。以上预测仅供学习参考&#xff…

缓存设计(本地缓存 + 分布式缓存)

缓存设计 前言正文缓存对象缓存服务缓存策略本地缓存Guava的使用 分布式缓存Redis缓存分布式缓存的生命周期分布式缓存的一致性问题 源码解读从缓存中获取秒杀品 分布式锁 总结参考链接 前言 大家好&#xff0c;我是练习两年半的Java练习生&#xff0c;本篇文章会分析秒杀系统…

el-form实现其中一个填写即可的校验

<el-formref"form":model"formData":rules"formRules"label-width"130px"><el-row :gutter"24"><el-col :span"12"><el-form-item label"司机姓名 :" prop"driverName"…

【贪心+最小子段和】EDU151 D

Problem - D - Codeforces 题意&#xff1a; 思路&#xff1a; 首先K是1e18的范围&#xff0c;不能去枚举&#xff0c;那么就去考虑猜测结论 手推样例&#xff1a; 初步可以猜测&#xff0c;K应该取的是某个峰值 结论是&#xff0c;K应该取最小子段和的左端点 因为当前缀和…

【Qt QML入门】第一个Quick应用

运行结果&#xff1a; 打开Qt Creator&#xff0c;创建一个Qt Quick Qpplication&#xff0c;IDE为我们创建一个应用工程&#xff0c;其中包含如下文件&#xff1a; .pro工程文件&#xff0c;我们通过它来打开整个工程&#xff1a; QT quick# You can make your code fail to…

这个618,项目经理竟然只能买它

早上好&#xff0c;我是老原。 转眼就来到了2023年年中&#xff0c;你们的个人成长计划启动了吗&#xff1f; 比如读书计划。 最近有不少粉丝朋友私信老原&#xff0c;希望能推荐一些可以帮自己“进化”的神作。 每个人的基础不同&#xff0c;想要“进化”还是得对症下药才…

C# --- 类型安全 与 var关键字

C# --- 类型安全 与 var关键字 什么是类型安全var关键字 什么是类型安全 类型安全就是编译器在编译阶段会检查变量内容和变量类型是否匹配, 如果不匹配会抛出错误类型安全的语言包括Java, C, C#等类型不安全的语言有JavaScript 下面这段代码是JavaScript, 编译器不会进行类型检…

git在工作中如何搭建和运用(巨详细!!)

最近有点闲&#xff0c;出一版git在实际公司上的一些运用 1&#xff0c;下载git&#xff0c; 下载git就不多说了&#xff0c;官方上下载安装就好了。 2&#xff0c;初始化 下载安装完成后&#xff0c;找个项目的空文件夹进去&#xff0c;右键点击git bash here &#xff0c;…

servlet和form和session表单实现最简单的登录跳转功能(详解,文末付源码)

目录 第一步&#xff1a;配置环境 在pom.xml引入servlet等依赖 这段代码赋值粘贴进web.xml 第二步&#xff1a;编写前端html的form表单 html代码&#xff08;复制这个&#xff09; 第三步&#xff1a;编写登录的java loginservlet代码&#xff08;复制这个&#xff09; 解释…

vue使用element plus引入ElMessage样式失效的问题

样式失效如图&#xff1a; 我使用的是按需引用&#xff0c;所以在main.js中直接导入下面样式就行&#xff1a; import element-plus/theme-chalk/index.css

Luogu P1280.尼克的任务

Luogu P1280.尼克的任务 原题点这里 思路 方法一&#xff1a;动态规划 这是一道动态规划的题目。 步骤主要分 5 5 5 步&#xff1a; 状态的定义转移式的推到递推顺序的判定边界的确定结果的输出 下面&#xff0c;我们针对这道题&#xff0c;细细地讲解一下每一个步骤 一…