【LNMP】架构及应用部署 搭建电影网站

news2024/11/26 0:21:55

准备环境


一台虚拟机192.168.108.67

关闭防火墙

systemctl stop firewalld

iptables -F

setenforce 0

检查光盘

查看yum仓库

安装nginx依赖

[root@localhost ~]# yum -y install pcre-devel zlib-devel

 

创建管理nginx用户(用来运行nginx)

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

- `useradd`:创建用户的命令。

- `-M`:表示不创建用户的家目录。

- `-s /sbin/nologin`:指定用户的登录shell为`/sbin/nologin`,这意味着该用户无法通过登录shell登录系统,通常用于创建系统服务账号。

- `nginx`:新用户的用户名。

综上所述,该命令的作用是创建一个名为`nginx`的用户,但不创建其家目录,并将其登录shell设置为`/sbin/nologin`,通常用于创建系统服务账号

 

然后将准备好的nginx源码包拖进虚拟机

 

解包

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

进入解压完的nginx目录下

[root@localhost ~]# cd /usr/src/nginx-1.16.0/

配置nginx

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

通过执行这个命令,可以编译并安装带有HTTP stub status模块的Nginx服务器,并将其安装到`/usr/local/nginx`目录下,同时指定Nginx运行的用户为`nginx`

如果安装过程中还需要其它依赖可自行选择安装

yum -y install gcc-c++

yum -y install pcre-devel

yum -y install zlib-devel

编译安装

[root@localhost nginx-1.16.0]# make && make install

优化Nginx命令做个命令链接

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

优化Nginx命令

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

检测配置文件是否有错误

[root@localhost ~]# nginx -t

[root@localhost etc]# vim /etc/init.d/nginx    ——进入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数据库


 

先查看有无libaio依赖包 没有就安装

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

上传MySQL二进制安装包 进行二进制安装

 

 

解压

[root@localhost ~]# tar xf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local

[root@localhost ~]# cd /usr/local/

改名字

[root@localhost local]# mv mysql-5.7.24-linux-glibc2.12-x86_64/ /usr/local/mysql

创建系统用户来运行它

[root@localhost local]# useradd -s /sbin/nologin mysql

cd到/usr/local下 更改mysql 权限为我们刚才创建的用户

[root@localhost ~]# cd /usr/local/

[root@localhost ~]# chown -R mysql:mysql mysql

 

 初始化数据库 生成密码

[root@localhost ~]# /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

修改配置文件

[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

重启服务 首先cd到mysql下再执行重启命令

[root@localhost ~]# cd /usr/local/mysql

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

将脚本加入执行权限

[root@localhost mysql]# chmod +x /etc/init.d/mysqld

启动

[root@localhost ~]# systemctl start mysqld

做命令连接

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

修改MySQL密码

[root@localhost mysql]# mysqladmin -uroot -p'ay_iLLjr7eRB' password 123456

安装PHP


安装依赖包

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

 

 

将PHP源码包拖进虚拟机

解压

[root@localhost ~]# tar xf php-5.6.39.tar.gz -C /usr/src

cd进入PHP目录

[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

然后做命令优化

[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/

 

将此包拖到虚拟机的root下

 

解压

[root@localhost ~]# tar xf zend-loader-php5.6-linux-x86_64_update1.tar.gz

cd到其路径下

 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

进入php配置文件

[root@localhost zend-loader-php5.6-linux-x86_64]# vim /usr/local/php5/php.ini

在最后一行写入加注器的

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so

zend_loader.enable=1

 

 

 

进到etc下

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

[root@localhost etc]# ls

调整改名

[root@localhost etc]# mv php-fpm.conf.default php-fpm.conf

 

进入php配置文件中

[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

 

 

创建php用户

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

启动

[root@localhost etc]# /usr/local/sbin/php-fpm

修改nginx配置文件

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

现将第一行用户名改为nginx

user  nginx;
worker_processes  1;
 

添加一个location

location ~ \.php$ {

            root html;

            fastcgi_pass 127.0.0.1:9000;

            fastcgi_index index.php;

            include fastcgi.conf;

        }

 

 

启动nginx

[root@localhost etc]# /usr/local/nginx/sbin/nginx -t   (显示以下两行内容表示配置文件没有问题)

 [root@localhost etc]# /usr/local/nginx/sbin/nginx (启动命令)

重新加载nginx配置文件

killall -HUP nginx

编写测试文件

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

写入以下内容

<?php

phpinfo();

?>

 

 

连接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.1.125/mysql.php

 

LNMP平台中部署WEB应用-1

将准备好的SKYUC应用源码包推进虚拟机

 

解压

[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 

 

属主

[root@localhost html]#cd wwwroot

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

 

创建数据库和授权用户 

 [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.访问

IE --> http://192.168.100.20/wwwroot/index.php

 

跟着步骤填写完信息 然后点击立即安装

 

 

安装完成后选择进入哪

 

首页

 

后台 填写我们创建的管理员用户和密码

 

然后进入

 

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

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

相关文章

picard安装时报错“Exception in thread “main“ java.lang.UnsupportedClassVersionError”

最近在通过GATK所介绍的best practice流程来call SNP流程 1.流程 1.1 BWA比对&#xff0c;获得sam文件 1.2 准备用picard来压缩排序sam文件为bam文件&#xff0c;并对bam文件进行去重复&#xff08;duplicates marking&#xff09; 这是就需要用到picard软件 按照教程网页上…

go-zero的rpc服务案例解析

go-zero的远程调用服务是基于gRpc的gRPC教程与应用。 zero使用使用gRpc需要安装protoc插件&#xff0c;因为gRpc基于protoc插件使用protocol buffers文件生成rpc服务器和api的代码的。 gRPC 的代码生成还依赖 protoc-gen-go&#xff0c;protoc-gen-go-grpc 插件来配合生成 Go…

机器学习笔记 - 局部敏感哈希简介

一、算法简述 局部敏感散列 (LSH) 技术,可显著加快对数据的邻居搜索或近似重复检测。例如,这些技术可用于以惊人的速度过滤掉抓取网页的重复项,或者从地理空间数据集中对附近点执行近恒定时间查找。 让我们快速回顾一下其他类型的哈希函数,哈希函数的传统用途是…

青岛大学_王卓老师【数据结构与算法】Week04_13_案例分析与实现3_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

漏洞检测01:DNS域传送漏洞

DNS域传送漏洞 文章目录 DNS域传送漏洞漏洞描述检测方法修复建议 DNS域传送漏洞 该漏洞当下已经非常少了 DNS服务器分为&#xff1a;主服务器、备份服务器和缓存服务器。在主备服务器之间同步数据库&#xff0c;需要使用“DNS域传送”。域传送是指备份服务器从主服务器拷贝数…

多目标下改进NSGA-II算法并使用ZDT测试函数验证matlab

目标优化机械臂轨迹&#xff0c;不知道NSGA-II算法改进后到底有没有效果&#xff0c;需要用测试函数进行验证&#xff0c;附matlab代码 参考多目标优化NSGA-II的实现&#xff08;MATLAB完整代码&#xff09;_nsga2 matlab_羽丶千落的博客-CSDN博客 目录 1.复制所有matlab代码…

STM32速成笔记—低功耗模式

文章目录 一、STM32低功耗模式介绍二、睡眠模式2.1 进入睡眠模式2.2 退出睡眠模式 三、停止模式3.1 进入停止模式3.2 退出停止模式 四、待机模式五、程序设计 一、STM32低功耗模式介绍 STM32提供了一些低功耗模式。默认情况下&#xff0c;系统复位或上电复位后&#xff0c;微控…

html中表格

一、table标签 参数说明 实例 <body><table border"1" align"center" width"300" height"200" cellspacing"10"><tr><td>1.1</td><td>1.2</td><td>1.3</td></t…

把labelme得到的json文件转换成yolov8需要的格式,划分数据集

使用labelme打标&#xff0c;得到json文件把所有json文件放到一个单独的文件夹&#xff0c;里面只有json文件使用脚本&#xff0c;把json里面的label,标注框的中心坐标、宽、高提取出来&#xff0c;注意这里的4个值都按照图像大小压缩了。 脚本如下&#xff1a; import json…

【网页设计】基于HTML的湖南渔鼓文化宣传网页的设计

1.引言 随着文化交流的不断深入&#xff0c;湖南渔鼓文化作为湖南省的非物质文化遗产&#xff0c;逐渐引起了人们的关注和研究。为了更好地推广和宣传湖南渔鼓文化&#xff0c;我们设计了一款基于HTML的湖南渔鼓文化宣传网页。 该网页旨在向广大用户介绍湖南渔鼓文化的深厚底…

第四章:SSD网络详解

(目标检测篇&#xff09;系列文章目录 第一章:R-CNN网络详解 第二章:Fast R-CNN网络详解 第三章:Faster R-CNN网络详解 第四章:SSD网络详解 第五章:YOLO v1网络详解 第六章:YOLO v2网络详解 第七章:YOLO v3网络详解 文章目录 系列文章目录技术干货集锦前言一、摘要二、正…

FME之发布全局变量和接收全局变量

1.发布变量用VariableSetter转换器&#xff0c;其中DH是全局变量名称&#xff0c;它的值是从上一步产生的数据中某个字段提取。发布之前我们一般都会用Sampler抽样保留一条记录即可。 2.接收全局变量用VariableRetriever转换器&#xff0c;其中变量名称用之前发布的全局变量名称…

Redis下载和安装(Windows系统)

本套教程中采用 Windows 系统对 Redis 数据库进行讲解。 虽然 Redis 官方网站没有提供 Windows 版的安装包&#xff0c;但可以通过 GitHub 来下载 Windows 版 Redis 安装包&#xff0c;下载地址&#xff1a;点击前往。 注意&#xff1a;Windows 安装包是某位民间“大神”根据 …

小白到运维工程师自学之路 第四十七集 (LNMP部署电影网站)

一、概述 Linux&#xff1a;作为操作系统&#xff0c;提供服务器的基本功能和稳定性。通常使用常见的Linux发行版&#xff0c;如Ubuntu、CentOS等。 Nginx&#xff1a;作为Web服务器和反向代理服务器&#xff0c;处理HTTP请求和传递数据。Nginx具有高性能、稳定性和并发处理能…

Java链式编程与Builder(建造者)设计模式

一、链式编程 1.1.释义 链式编程&#xff0c;也叫级联式编程&#xff0c;调用对象的函数时返回一个this对象指向对象本身&#xff0c;达到链式效果&#xff0c;可以级联调用。 1.2.特点 可以通过一个方法调用多个方法&#xff0c;将多个方法调用链接起来&#xff0c;形成一…

Mysql数据NULL避坑指南

NULL空值是mysql中一种特殊的数据值&#xff08;即"缺少的未知值"&#xff09;,NULL和字符串空值不是一回事&#xff0c;处理NULL与其他值不同&#xff0c;下面具体阐述相关差异&#xff1a; 一、NULL运算符 1、普通数据使用 > 、 < 、即可做常用的逻辑运算如…

Linux随机生成数

简介 在某些情况下&#xff0c;我们需要随机产生一个数来在一些场景中使用&#xff0c;例如验证码、ssh反向代理随机数的产生&#xff0c;又或者在一些shell脚本设计中需要用到随机数&#xff0c;下面以随机产生一个30000-40000之间的随机数为例。 使用shuf shuf 命令在一些 Li…

【FFMPEG】AVFilter使用流程

流程图 核心类 AVFilterGraph ⽤于统合这整个滤波过程的结构体 AVFilter 滤波器&#xff0c;滤波器的实现是通过AVFilter以及位于其下的结构体/函数来维护的 AVFilterContext ⼀个滤波器实例&#xff0c;即使是同⼀个滤波器&#xff0c;但是在进⾏实际的滤波时&#xff0c;也…

基于单片机水质检测系统的设计与实现

功能介绍 以STM32单片机作为主控系统&#xff1b;液晶显示当前参数&#xff1b;PH模块采集当前水质PH酸碱度&#xff1b;DS18B20温度传感器采集当前水体温度&#xff1b;TDS传感器采集当前水体TDS值&#xff1b;浊度传感器采集当前水体浑浊度&#xff1b;按键设置PH、温度、TDS…

基于vscode连接到远程服务中debug

本文章主要讲解以下两点的任务 1.在windows的vscode中去debug 本机子系统wsl2中运行的docker容器 该篇文件参考知乎上这篇文章 vscode远程连接到本机 wsl2子系统 中正在运行的 docker容器&#xff0c;该docker中有一个flask实例&#xff0c;通过vscode远程debug它 1.1安装v…