lnmp架构

mysql源码编译

1.下载cmake-2.8.12.2-4.el6.x86_64.rpm 和mysql-boost-5.7.17.tar.gz
2.安装源码编译工具cmake(支持编译C++语言)
yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y ##用yum安装可以解决软件依赖性

3.tar zxf mysql-boost-5.7.17.tar.gz    ###解压源码包
4.cd mysql-5.7.17/

5.执行:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \
##安装目录
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \
##数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \
##安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
##安装 innodb 存储引擎
-DDEFAULT_CHARSET=utf8 \
##使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \
##校验字符
-DEXTRA_CHARSETS=all \
##安装所有扩展字符集
-DWITH_BOOST=boost/boost_1_59_0/

6.直接执行完上面命令后,会报错,要解决一系列依赖性

用yum安装以下依赖性:
yum install gcc gcc-c++ ncurses-devel -y
安装完这些依赖性后,也会执行成功,但是会有warning
要想消除warning,在下载一个依赖性,就可以解决
yum install bison -y

7.删除cmake缓存文件,因为编译时会优先读取cmake缓存文件,要将缓存文件删了,重新编译
8.再次执行编译的命令,这次会执行成功

make && make install
配置mysql
cd /usr/local/lnmp/mysql/support-files/
cp my-default.cnf /etc/my.cnf   # 将配置文件拷贝到/etc(系统默认配置文件目录)

这里写图片描述

vim /etc/my.cnf     ##编辑mysql配置文件
     18 basedir = /usr/local/lnmp/mysql    ##安装目录
     19 datadir = /usr/local/lnmp/mysql/data  ##mysql数据存放目录
     20 port = 3306    ##端口
     22 socket = /usr/local/lnmp/mysql/data/mysql.sock

这里写图片描述

cp mysql.server /etc/init.d/mysqld
####将编译完成的mysql启动脚本复制到系统启动服务的默认目录中
groupadd -g 27 mysql   ###建立mysq组
useradd -u 27 -g 27 -M -d /usr/local/lnmp/mysql/data -s /sbin/nologin mysql
###指定目录,建立mysql用户,
cd /usr/local/lnmp/mysql/
chown mysql.mysql . -R   ##更改此目录中的所有文件的用户和组

这里写图片描述

将编译生成的mysql二进制命令放进系统的环境变量文件中,保证可以直接调用该二进制命令
cd
vim .bash_profile
     10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin
source .bash_profile   ###加载文件

这里写图片描述

cd /usr/local/lnmp/mysql/
mysql --initialize --user=mysql   ###初始化
执行完这条命林后,会弹出很多行数据,复制最后一条冒号后生成的密码

这里写图片描述

此时,mysqld服务已经可以开启关闭了
cd /usr/local/lnmp/mysql/
chown root.root . -R
chown mysql data/ -R   
###将此目录的所有文件用户和家目录都改成超户
,除了data改成mysql因为mysql服务将要往这个目录中写数据,保证其有执行权限
打开mysqld  /etc/init.d/mysqld start

这里写图片描述

mysql_secure_installation
(1)在第一次交互请求后面输入刚刚初始化时复制的密码
(2)然后输入两次新密码
(3)接下来的交互式请求可以直接回车,这条交互式请求是询问你是否要检查密码强度,
如果输入y,就要重新修改密码,密码长度必须超过8位,必须有大小写字母,
所以我们直接回车
(4)接下来会询问是否要修改root密码,直接回车,因为上面已经设置过了
(5)接下来全部输入y回车就行
现在就可以直接进入mysql了
mysql -p
输入设置的密码进入就行

这里写图片描述
这里写图片描述

php源码安装

1.下载php源码包进行解压

tar jxf php-5.6.35.tar.bz2

cd php-5.6.35
ls
./configure --help | grep mysql   ###过滤出与mysql相关的模块

这里写图片描述

./configure --prefix=/usr/local/lnmp/php    # php安装的位置
 --with-config-file-path=/usr/local/lnmp/php/etc #php配置文件所在的位置
 --with-mysql=mysqlnd 
 --enable-mysqlnd 
 --with-mysqli=mysqlnd 
 --with-pdo-mysql=mysqlnd 
 --with-openssl 
 --with-snmp 
 --with-gd 
 --with-zlib 
 --with-curl 
 --with-libxml-dir 
 --with-png-dir 
 --with-jpeg-dir 
 --with-freetype-dir 
 --with-pear 
 --with-gettext 
 --with-gmp 
 --enable-inline-optimization 
 --enable-soap 
 --enable-ftp 
 --enable-sockets 
 --enable-mbstring 
 --enable-fpm  # 开启fpm模式(nginx等服务用的)
 --with-fpm-user=nginx  # 对PHP服务的限制通过nginx用户来实现
 --with-fpm-group=nginx  # PHP以nginx用户组身份运行
 --with-mcrypt   # 提供了对多种块算法的支持 主要用来实现加密等算法
 --with-mhash    # 加密算法
解决依赖性
yum install libxml2-devel -y
yum install openssl-devel -y
yum install curl-devel -y
yum install gmp-devel -y
yum install net-snmp-devel -y
###注意这几个包系统里面没有,你需要从网上下载
yum install -y gd-devel-2.0.35-11.el6.x86_64.rpm 
yum install libmcrypt-devel-2.5.8-9.el6.x86_64.rpm 
libmcrypt-2.5.8-9.el6.x86_64.rpm -y
rpm -ivh re2c-0.13.5-1.el6.x86_64.rpm 
编译和安装
make && make install
至此php安装完成
拷贝文件配置文件
cd /usr/local/lnmp/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd
cd php-5.6.35
cp php.ini-production /usr/local/lnmp/php/etc/php.ini
修改之前拷贝的配置文件
vim /usr/local/lnmp/php/etc/php-fpm.conf
       将第25行注释去掉(pid)

这里写图片描述

cd /usr/local/lnmp/php/etc/
 vim php.ini     ###修改时区
      933 [Date]
      934 ; Defines the default timezone used by the date functions
      935 ; http://php.net/date.timezone
      936 date.timezone = Asia/Shanghai

这里写图片描述

id nginx
useradd -M -d /usr/local/lnmp/nginx -s /sbin/nologin nginx  ###建立nginx用户

这里写图片描述

cd
cd php-5.6.35
cd sapi/fpm/
cp init.d.php-fpm /etc/init.d/php-fpm    ###制作php启动脚本
chmod  +x /etc/init.d/php-fpm      ###给启动脚本添加执行权限
/etc/init.d/php-fpm start
ps ax    ###查看php进程是否开启
netstat -antlp     ###查看端口状态

这里写图片描述

(三)nginx源码安装

1.解压源码包
tar zxf nginx-1.10.1.tar.gz
2.去掉版本号

cd nginx-1.10.1
cd src/core/
vim nginx.h 
###去掉版本号

这里写图片描述
3.注释掉179行

cd ..
cd auto/cc/
vim gcc 
##/debug,找到那行进行注释

这里写图片描述
4.进行预编译

cd nginx-1.10.1
./configure --help    ###查看要添加的模块帮助
./configure --prefix=/usr/local/lnmp/nginx 
--with-http_ssl_module 
--with-http_stub_status_module 
--user=nginx 
--group=nginx 
--with-threads 
--with-file-aio

5.解决依赖性安装

yum install -y pcre-devel   ###解决依赖性安装
make && make install

6.配置nginx服务
cd /usr/local/lnmp/nginx/conf
vim nginx.conf

       12 events {
       13     worker_connections  65535;
       14 }
################################################################
       65         location ~ \.php$ {
       66             root           html;
       67             fastcgi_pass   127.0.0.1:9000;
       68             fastcgi_index  index.php;
       69             #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
       70             include        fastcgi.conf;
       71         }

这里写图片描述
这里写图片描述

vim /etc/security/limits.conf
nginx     -      nofile   65536

这里写图片描述
.将编译生成的mysql二进制命令放进系统的环境变量文件中,保证可以直接调用该二进制命令

vim  /root/.bash_profile     ###制作nginx启动脚本 
       10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/nginx/sbin
source .bash_profile  ###刷新一下

这里写图片描述

cd /usr/local/lnmp/nginx/sbin/
nginx -t  ##检测语法
nginx     ###打开nginx
cd  /usr/local/lnmp/nginx/html/  ###默认发布目录 
vim index.php
       <?php
       phpinfo()
       ?>

这里写图片描述
在网站分别访问172.25.70.1 172.25.3.5/index.php
这里写图片描述
这里写图片描述

为了方便测试再次编辑nginx.conf
cd /usr/local/lnmp/nginx/conf
vim nginx.conf
nginx -s reload

这里写图片描述
这里写图片描述

论坛搭建
yum install unzip -y
unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/  ###解压到指定目录
cd /usr/local/lnmp/nginx/html/
mv upload bbs  ###改目录名

这里写图片描述

cd bbs/
chmod 777 config/ data/ uc_server/ uc_client/ -R   ###修改里面目录权限

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

此时在/user/local/lnmp/php/etc/php.ini我们需要指定php连接mysql的通信接口,三个位置
cd /usr/local/lnmp/php/etc/
ls
vim php.ini
  ... 
       1005 [Pdo_mysql]
       1006 ; If mysqlnd is used: Number of cache slots for the internal result set cache
       1007 ; http://php.net/pdo_mysql.cache_size
       1008 pdo_mysql.cache_size = 2000
       1009 
       1010 ; Default socket name for local MySQL connects.  If empty, uses the built-in
       1011 ; MySQL defaults.
       1012 ; http://php.net/pdo_mysql.default-socket
       1013 pdo_mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sock
       ...
       1159 ; Default socket name for local MySQL connects.  If empty, uses the built-in
       1160 ; MySQL defaults.
       1161 ; http://php.net/mysql.default-socket
       1162 mysql.default_socket =/usr/local/lnmp/mysql/data/mysql.sock
       ...
       1218 ; Default socket name for local MySQL connects.  If empty, uses the built-in
       1219 ; MySQL defaults.
       1220 ; http://php.net/mysqli.default-socket
       1221 mysqli.default_socket =/usr/local/lnmp/mysql/data/mysql.sock
       ...

在此安装时还会报错,连接数据库的权限不够
这里写图片描述

/etc/init.d/php-fpm reload   ###重新加载配置文件
cd /usr/local/
ll   ###查看里面目录权限
cd lnmp/
ll   ###查看里面目录权限
cd mysql/
ll    ###查看里面目录权限
chmod 755 data/   ###将data目录权限修改
/etc/init.d/mysqld start

此时论坛成功安装
这里写图片描述

cd /usr/local/lnmp/nginx/html/bbs/install/
ls
rm -fr index.php   ##删掉此文件

登陆查看
这里写图片描述
进入管理员管理中心,提示删除/install/目录下的php文件,按提示执行,避免二次安装
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值