Lnmp(mysql分离)(nginx 1.13.6+mysql5.5+php5.3)环境一键搭建

news2024/12/24 1:00:24

Lnmp(mysql分离)(nginx 1.13.6+mysql5.5+php5.3)环境一键搭建

如果对运维课程感兴趣,可以在b站上、csdn或微信视频号 上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频

在192.168.37.128服务器上:(mysql只到make install即可)nginx默认站点html

1.上传lnmp的安装包

[root@localhost ~]# mkdir /nginx

rz上传nginx 1.13.6源码包到/nginx /目录下

[root@localhost ~]# ls /nginx/

nginx-1.13.6.tar.gz

[root@localhost ~]# mkdir /mysql

rz上传mysql5.5包和cmake包

[root@localhost ~]# ls /mysql/

cmake-2.8.8.tar.gz  mysql-5.5.32.tar.gz

[root@localhost ~]# mkdir /php

rz上传php5.3和各依赖包

[root@localhost ~]# ls /php/

libiconv-1.14.tar.gz  libmcrypt-2.5.8.tar.gz  mhash-0.9.9.9.tar.gz  php-5.3.27.tar.gz

2.开发一键安装lnmp平台脚本

[root@localhost ~]# cat lnmp_install.sh

#!/bin/bash

LANG=en_US.UTF-8    

#安装nginx1.13.6(单网站域名,在默认站点目录html中)

rpm -q gcc ||yum -y install gcc

rpm -q gcc-c++ || yum -y install gcc-c++

rpm -q openssl-devel || yum -y install openssl-devel

rpm -q zlib-devel || yum -y install zlib-devel

rpm -q pcre-devel || yum -y install pcre-devel

useradd nginx &> /dev/null

cd /nginx/

tar -zxf nginx-1.13.6.tar.gz

cd nginx-1.13.6

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module

make && make install

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx

netstat -anptu |grep :80

#安装mysql5.5(单实例)

cd /mysql

           #先安装cmake,并安装最后提示运行gmake方式来安装cmake软件

tar -zxf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure

gmake

gmake install

cd ..

yum -y install ncurses-devel   #安装mysql依赖包

                               #用cmake软件包安装mysql5.5

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

tar -zxf mysql-5.5.32.tar.gz

cd mysql-5.5.32

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 \

-DMYSQL_DATADIR=/usr/local/mysql-5.5.32/data \

-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.32/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \

-DENABLED_LOCAL_INFILE=ON \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DEBUG=0

make && make install

ln -s /usr/local/mysql-5.5.32/ /usr/local/mysql

#安装php5.3

cd /php/                                                    #先安装php所需的图形lib库

yum -y install zlib libxml libjpeg freetype libpng gd curl  zlib-devel libxml2-devel libjpeg-turbo-devel freetype-devel  \yum -y install libpng-devel gd-devel curl-devel

yum -y install libxslt*                                    #安装普通的依赖包

yum -y install openldap openldap-devel

cp -frp /usr/lib64/libldap* /usr/lib/

                                                           #安装那3个依赖包,编译安装的

tar -zxf mhash-0.9.9.9.tar.gz

tar -zxf libiconv-1.14.tar.gz

tar -zxf libmcrypt-2.5.8.tar.gz

cd mhash-0.9.9.9

./configure

make && make install

cd ..

cd libiconv-1.14

./configure

make && make install

cd ..

cd libmcrypt-2.5.8

./configure

make && make install

cd libltdl/

./configure --enable-ltdl-install

make && make install

ln -s /usr/local/lib/libmhash.* /usr/lib

ln -s /usr/local/lib/libmcrypt* /usr/lib

ln -s /usr/local/lib/libiconv.* /usr/lib

ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/            

#安装php5.3

cd /php/

tar -zxf php-5.3.27.tar.gz

cd php-5.3.27

./configure  \

--prefix=/usr/local/php  \

--enable-fpm  \

--with-mysql=/usr/local/mysql/  \

--with-mysqli=/usr/local/mysql/bin/mysql_config  \

--enable-mbstring  \

--with-config-file-path=/usr/local/php/etc  \

--with-iconv-dir=/usr/local/libiconv/  \

--with-freetype-dir  \

--with-jpeg-dir  \

--with-png-dir  \

--with-zlib  \

--with-libxml-dir=/usr/  \

--enable-xml  \

--disable-rpath  \

--enable-discard-path \

--enable-safe-mode  \

--enable-bcmath  \

--enable-shmop  \

--enable-sysvsem  \

--enable-inline-optimization  \

--with-curl  \

--with-curlwrappers  \

--enable-mbregex  \

--enable-fastcgi \

--enable-force-cgi-redirect \

--enable-mbstring  \

--with-mcrypt  \

--with-gd  \

--enable-gd-native-ttf  \

--with-openssl  \

--with-mhash  \

--enable-pcntl  \

--enable-sockets  \

--with-ldap \

--with-ldap-sasl  \

--with-xmlrpc  \

--enable-zip  \

--enable-soap  \

--enable-short-tags  \

--enable-zend-multibyte  \

--enable-static  \

--with-xsl  \

--with-fpm-user=nginx  \

--with-fpm-group=nginx

make ZEND_EXTRA_LIBS='-liconv'     #编译时,支持编码转换的扩展库

make install

cp php.ini-production /usr/local/php/etc/php.ini  #拷贝php配置文件

echo "/usr/local/mysql/lib" >> /etc/ld.so.conf  #将mysql的lib库文件目录加入到ldconfig

ldconfig

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf   #拷贝fast-cgi动态网页配置文件

                                       #修改fast-cgi配置文件,配置动态网页参数

sed -i '25s#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' php-fpm.conf

sed -i '32s#;error_log = log/php-fpm.log#error_log = log/php-fpm.log#g' php-fpm.conf

sed -i '50s#;log_level = notice#log_level = notice#g' php-fpm.conf

sed -i '89s#;daemonize = yes#daemonize = yes#g' php-fpm.conf

cd /php/php-5.3.27/sapi/fpm/

cp init.d.php-fpm /etc/init.d/php-fpm   #拷贝启动动态网页的fast-cgi服务脚本

chmod +x /etc/init.d/php-fpm

/etc/init.d/php-fpm start

#修改nginx配置文件,调用fast-cgi动态网页

sed -i '45s#index  index.html index.htm#index index.php index.html index.htm#g' /usr/local/nginx/conf/nginx.conf

sed -i '65s#\#location#location#g' /usr/local/nginx/conf/nginx.conf

sed -i '66s#\###g' /usr/local/nginx/conf/nginx.conf

sed -i '67s#\###g' /usr/local/nginx/conf/nginx.conf

sed -i '68s#\###g' /usr/local/nginx/conf/nginx.conf

sed -i '69s#\#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name#    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name#g' /usr/local/nginx/conf/nginx.conf

sed -i '70s#\###g' /usr/local/nginx/conf/nginx.conf

sed -i '71s#\###g' /usr/local/nginx/conf/nginx.conf

echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/index.php

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s stop

/usr/local/nginx/sbin/nginx

/etc/init.d/php-fpm restart

/etc/init.d/mysqld restart

netstat -anptu |grep 80

netstat -anptu |grep 3306

netstat -anptu |grep 9000

wq

3.服务器建立测试连接mysql程序的代码,测试php是否能连接mysql

[root@localhost ~]# cat /usr/local/nginx/html/linkdb.php

<?php

$linkdb=mysql_connect("192.168.37.129","test1","test1");  #mysqL数据库的IP,用户名和密码

if($linkdb){

        echo "db ok";

}else{

        echo "db no";

}

?>

wq

在192.168.37.128服务器上安装mysql5.5.32

1.上传mysql包

[root@localhost ~]# mkdir /mysql

rz上传mysql5.5包和cmake包

[root@localhost ~]# ls /mysql/

cmake-2.8.8.tar.gz  mysql-5.5.32.tar.gz

2.开发安装mysql的脚本

[root@localhost ~]# cat install_mysql

#!/bin/bash

LANG=en_US.UTF-8    

#安装编译工具

rpm -q gcc ||yum -y install gcc

rpm -q gcc-c++ || yum -y install gcc-c++

#安装mysql5.5(单实例)

cd /mysql

           #先安装cmake,并安装最后提示运行gmake方式来安装cmake软件

tar -zxf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure

gmake

gmake install

cd ..

yum -y install ncurses-devel   #安装mysql依赖包

                               #用cmake软件包安装mysql5.5

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

tar -zxf mysql-5.5.32.tar.gz

cd mysql-5.5.32

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 \

-DMYSQL_DATADIR=/usr/local/mysql-5.5.32/data \

-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.32/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \

-DENABLED_LOCAL_INFILE=ON \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DEBUG=0

make && make install

ln -s /usr/local/mysql-5.5.32/ /usr/local/mysql

cd ..

\cp -f mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf        #拷贝配置文件

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile   #配置环境变量

source /etc/profile

chown -R mysql.mysql /usr/local/mysql/data/             #授权数据目录和初始化mysql5.5

chmod -R 1777 /tmp/                                     #1是粘贴位,授权是防止/tmp权限有问题

cd /usr/local/mysql/scripts/

./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql

\cp -f /mysql/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld  #拷贝启动脚本

chmod +x /etc/init.d/mysqld

/etc/init.d/mysqld start

netstat -anptu |grep 3306

/usr/local/mysql/bin/mysqladmin -u root password '123'   #为mysql增加密码,不是修改,初始没密码

chkconfig mysqld on

wq

3.创建一个测试库,供php程序连接mysql

[root@localhost ~]# mysql -uroot -p123

mysql> create database test1;                                   #创建一个库,供php连接mysql

mysql> grant all on test1.* to test1@"%" identified by "test1"; #授权一个用户,供php连接mysql

mysql> flush privileges;

mysql> quit

[root@localhost scripts]# /etc/init.d/mysqld stop

[root@localhost scripts]# /etc/init.d/mysqld start

widows客户端访问服务器页面:

1)能解析php

2)php能够连接mysql

如果对运维课程感兴趣,可以在b站上、csdn或微信视频号 上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频

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

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

相关文章

深度学习之残差网络ResNet

文章目录 1. 残差网络定义2. 数学基础函数类3. 残差块4.ResNet模型5.训练模型6.小结 1. 残差网络定义 随着我们设计的网络越来越深&#xff0c;深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力。在这种网络中&#xff0c;添加层会使得网…

单例模式:为何继承无法保证子类的单例特性

这里写目录标题 一、引言二、背景描述三、单例模式的规范边界全局访问点与静态工厂方法代码示例与注意事项 四、单例实现继承遇到的问题五、结论与替代方案结论替代方案特殊的想法&#x1f338;&#x1f338;源码阶段验证编译阶段验证运行阶段验证总结 一、引言 在软件设计中&a…

实时语音转文字(基于NAudio+Whisper+VOSP+Websocket)

今天花了大半天时间研究一个实时语音转文字的程序&#xff0c;目的还包括能够唤醒服务&#xff0c;并把命令提供给第三方。 由于这方面的材料已经很多&#xff0c;我就只把过程中遇到的和解决方案简单说下。源代码开源在AudioWhisper: 实时语音转文字(基于NAudioWhisperVOSPWe…

基于SSM的个性化商铺系统【附源码】

基于SSM的个性化商铺系统 效果如下&#xff1a; 用户登录界面 app首页界面 商品信息界面 店铺信息界面 用户功能界面 我的订单界面 后台登录界面 管理员功能界面 用户管理界面 商家管理界面 店铺信息管理界面 商家功能界面 个人中心界面 研究背景 研究背景 科学技术日新月异…

Leetcode 每日温度

class Solution {public int[] dailyTemperatures(int[] temperatures) {int n temperatures.length;Stack<Integer> stack new Stack<>();//默认将数组中的所有元素初始化为 0int[] results new int[n];for(int i 0; i < n; i) {while(!stack.isEmpty() &a…

leaflet前端JS实现高德地图POI兴趣点批量分类下载(附源码下载)

前言 leaflet 入门开发系列环境知识点了解&#xff1a; leaflet api文档介绍&#xff0c;详细介绍 leaflet 每个类的函数以及属性等等leaflet 在线例子leaflet 插件&#xff0c;leaflet 的插件库&#xff0c;非常有用 内容概览 leaflet前端JS实现高德地图POI兴趣点批量分类下载…

小猿口算炸鱼脚本

目录 写在前面&#xff1a; 一、关于小猿口算&#xff1a; 二、代码逻辑 1.数字识别 2.答题部分 三、代码分享&#xff1a; 补充&#xff1a;软件包下载 写在前面&#xff1a; 最近小猿口算已经被不少大学生攻占&#xff0c;小学生直呼有挂。原本是以为大学生都打着本…

【Python爬虫】看电影还在用VIP?一个python代码让你实现电影自由!附源码

今日主题 如何用Python解析vip电影。 什么是vip电影&#xff1f; 这些vip电影啊&#xff0c;想要观看的话&#xff0c;必须充值会员&#xff0c;否则没法看。 比如这个&#xff1a; 这些vip电影解析后呢&#xff1f; 不需要会员&#xff0c;不需要登录&#xff0c;可以直接…

Java-类与对象

一、面向对象 在了解类与对象前&#xff0c;我们需要先知道"面向对象"这个词的概念&#xff1a; 在Java语言中&#xff0c;我们的主要思想就是"面向对象"&#xff0c;而在之前我们所学习的C语言中大部分时候的思想是"面向过程"。 那么什么是&…

MySQL-10.DML-添加数据insert

一.DML(INSERT) -- DDL&#xff1a;数据操作语言 -- DML&#xff1a;插入数据 - insert -- 1.为tb_emp表的username&#xff0c;name&#xff0c;gender字段插入值 insert into tb_emp (username,name,gender) values (wuji,无忌,1); -- 这样会报错&#xff0c;因为create_ti…

DS堆的实际应用(10)

文章目录 前言一、堆排序建堆排序 二、TopK问题原理实战创建一个有一万个数的文件读取文件并将前k个数据创建小堆用剩余的N-K个元素依次与堆顶元素来比较将前k个数据打印出来并关闭文件 测试 三、堆的相关习题总结 前言 学完了堆这个数据结构的概念和特性后&#xff0c;我们来看…

限时设计ui

ctrl-------放大缩小 空格-----画面移动 alt------复制 页面<画板<图层 添加交互事件 原型 点击蓝色的圆&#xff0c;从1跳转到2 点击绿色的圆&#xff0c;从2跳转到1

基于SSM+Vue+MySQL的健身房管理系统

系统展示 系统背景 随着人们生活水平的提高和健康意识的增强&#xff0c;越来越多的人选择去健身房锻炼。传统的健身房管理方式往往依赖于纸质记录和人工操作&#xff0c;这种方式不仅效率低下&#xff0c;而且容易出错。为了提高健身房的管理效率和服务质量&#xff0c;开发一…

python项目实战——下载美女图片

python项目实战——下载美女图片 文章目录 python项目实战——下载美女图片完整代码思路整理实现过程使用xpath语法找图片的链接检查链接是否正确下载图片创建文件夹获取一组图片的链接获取页数 获取目录页的链接 完善代码注意事项 完整代码 import requests import re import…

图文检索综述(2):Deep Multimodal Data Fusion

Deep Multimodal Data Fusion 摘要1 引言2 基于编码器-解码器融合2.1 数据级别融合2.2 分层特征融合2.3 决策级别融合 3 基于注意力融合3.1 模态内的自注意力3.2 模态间的交叉注意力3.3 基于transformer的方法 4 基于图神经网络融合4.1 单个模态的表示学习4.2 融合数据的表示学…

【数据结构】宜宾大学-计院-实验三

线性表的应用——实现两多项式的相加 课前准备&#xff1a;实验学时&#xff1a;2实验目的&#xff1a;实验内容&#xff1a;实验结果&#xff1a;实验报告:&#xff08;及时撰写实验报告&#xff09;实验测试结果&#xff1a;代码实现&#xff1a;&#xff08;C/C&#xff09;…

Java 小游戏《超级马里奥》

文章目录 一、效果展示二、代码编写1. 素材准备2. 创建窗口类3. 创建常量类4. 创建动作类5. 创建关卡类6. 创建障碍物类7. 创建马里奥类8. 编写程序入口 一、效果展示 二、代码编写 1. 素材准备 首先创建一个基本的 java 项目&#xff0c;并将本游戏需要用到的图片素材 image…

华为 HCIP-Datacom H12-821 题库 (38)

&#x1f423;博客最下方微信公众号回复题库,领取题库和教学资源 &#x1f424;诚挚欢迎IT交流有兴趣的公众号回复交流群 &#x1f998;公众号会持续更新网络小知识&#x1f63c; 1.请对 2001:0DB8:0000:C030:0000:0000:09A0:CDEF 地址进行压缩。&#xff08; &#xff09;&…

阻塞I/O与非阻塞I/O

目录 一、基本概念 二、阻塞I/O的实现机制 —— 等待队列 一、基本概念 阻塞&#xff1a;在执行单元进行操作时&#xff0c;如果不能获得申请的资源&#xff0c;则执行单元挂起直至资源可用后再进行操作。 非阻塞&#xff1a;在执行单元进行操作时&#xff0c;如果不能获得申…

UDP反射放大攻击防范手册

UDP反射放大攻击是一种极具破坏力的恶意攻击手段。 一、UDP反射放大攻击的原理 UDP反射放大攻击主要利用了UDP协议的特性。攻击者会向互联网上大量的开放UDP服务的服务器发送伪造的请求数据包。这些请求数据包的源IP地址被篡改为目标受害者的IP地址。当服务器收到这些请求后&…