lnmp架构

来源:互联网 发布:c语言开发的开源项目 编辑:程序博客网 时间:2024/06/01 09:52

########源码安装mysql#####

1.安装包
cmake-2.8.12.2-4.el6.x86_64.rpm   ##对应需要高版本的支持
mysql-boost-5.7.17.tar.gz
php-5.6.20.tar.bz2
2.源码包安装
安装前要却定系统内存大小是否足够,至少需要15G
tar zxf mysql-boost-5.7.17.tar.gz  ##解压源码包
yum install gcc-c++ -y           ##安装编译器
yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y
yum install    -y   ncurses-devel       ##安装依赖性
cd mysql-5.7.17/            ##进入安装目录
cmake                      ##编辑安装配置,进行自定义安装
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 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=boost/boost_1_59_0/

#######各项参数含义########
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  #安装目录
  -DMYSQL_DATADIR=/usr/local/mysql/data \
  #数据库存放目录
  -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径
  -DWITH_MYISAM_STORAGE_ENGINE=1 \
  #安装 myisam 存储引擎
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  #安装 innodb 存储引擎
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  #安装 archive 存储引擎
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  #安装 blackhole 存储引擎
  -DWITH_PARTITION_STORAGE_ENGINE=1 \
  #安装数据库分区
  -DENABLED_LOCAL_INFILE=1 \
  #允许从本地导入数据
  -DWITH_READLINE=1 \
  #快捷键功能
  -DWITH_SSL=yes \
  #支持 SSLgroupadd -g 27 mysql
  -DDEFAULT_CHARSET=utf8 \
  #使用 utf8 字符
  -DDEFAULT_COLLATION=utf8_general_ci \
  #校验字符
  -DEXTRA_CHARSETS=all \
  #安装所有扩展字符集
  -DMYSQL_TCP_PORT=3306 \
  #MySQL 监听端口

make && make install            ##编译成功后安装
若安装不成功,需要重新编译时,需要清除旧的对象文件和缓存信息
make clean
rm -f CmakeCache.txt          ##删除编译缓存信息
3.初始化配置
groupadd -g 27 mysql           ##创建mysql组
useradd -u 27 -g 27 -s /sbin/nologin -M -d /usr/local/lnmp/mysql/data mysql          ##创建mysql用户
cd /usr/local/lnmp/mysql/
chown mysql.mysql . -R        ##更改目录权限
cd /usr/local/lnmp/mysql/bin

vim ~/.bash_profile            ##将安装目录放入环境变量中


source ~/.bash_profile
cd /usr/local/lnmp/mysql/support-files
cp /etc/my.cnf /etc/my.cnf.bak    ##对该文件备份
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysqld
cd /usr/local/lnmp/mysql/        ##进入该目录

mysqld --initialize --user=mysql    ##初始化安装会生成初始密码,会生成data文件夹


[root@server1 mysql]# chown root.root . -R
[root@server1 mysql]# chown mysql data -R
[root@server1 mysql]# /etc/init.d/mysqld start  ##启动mysql
Starting MySQL.Logging to '/usr/local/lnmp/mysql/data/server1.err'.

. SUCCESS!


[root@server1 mysql]# mysql_secure_installation     ##安全初始化

mysql -p                    ##登陆,成功后显示如下:



#######源码安装php#########

1.安装包
php-5.6.20.tar.bz2
libmcrypt-2.5.8-9.el6.x86_64.rpm
libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
re2c-0.13.5-1.el6.x86_64.rpm
2.安装步骤
tar jxf php-5.6.20.tar.bz2      ##解压
cd  php-5.6.20
./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysql=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-gmp --with-gettext --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash            ##根据需求选择安装选项


###根据选择参数进行依赖性安装
yum install libxml2-devel -y
yum install libcurl-devel -y
yum provides */jpeglib.h    ##检测该文件来自那个安装包
yum install -y libjpeg-turbo-devel-1.2.1-1.el6.x86_64
yum install -y 2:libpng-devel-1.2.49-1.el6_2.x86_64
yum install freetype-devel -y
yum install -y gmp-devel-4.3.1-7.el6_2.2.x86_64
rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
yum install net-snmp-devel -y
yum install bison -y
rpm -ivh re2c-0.13.5-1.el6.x86_64.rpm

make &&make install    ##进行编译和安装

#####nginx和php进行整合

cd /root/php-5.6.20
cp php.ini-production /usr/local/lnmp/php/etc/php.ini
cd /root/php-5.6.20/sapi/fpm
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm      ##增加可执行权限
cd /usr/local/lnmp/php/etc

vim php.ini        ##修改时区




cp php-fpm.conf.default php-fpm.conf

vim php-fpm.conf                                              ##编辑文件内容如下




/etc/init.d/php-fpm start    ##启动php

vim ~/.bash_profile    ##将文件路径加入环境变量中



source ~/.bash_profile
cd /usr/local/lnmp/nginx/conf

vim nginx.conf        ##配置nginx连接mysql



cd /usr/local/lnmp/nginx/html

vim index.php        ##编辑测试页面



nginx -t
nginx   ##如果程序未开则开启,否则执行(nginx -s reload)

####简易论坛安装

Discuz_X3.2_SC_UTF8.zip
unzip Discuz_X3.2_SC_UTF8.zip  ##解压

mv upload/ /usr/local/lnmp/nginx/html/bbs  ##将安装目录放在

出现如下问题:

执行如下操作:

cd /usr/local/lnmp/nginx/html/bbs
chmod 777 config/ data/ uc_client/ uc_server/ -R

vim /usr/local/lnmp/php/etc/php.ini         ##如果出现无法连接数据库,编辑文件内容如下

  pdo_mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sock
  mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sock
  mysqli.default_socket=/usr/local/lnmp/mysql/data/mysql.sock

/etc/init.d/php-fpm reload            ##重新加载配置文件

chmod 755 /usr/local/lnmp/mysql/data/        ##如果出现permission deny

成功安装结果如下:


cd /usr/local/lnmp/nginx/html/bbs/install
rm -f index.php                    ##安装后,删除安装向导文件,预防重复安装


###########php的模块安装###

which php        ##查看当前php的安装,应为环境变量中的值
  /usr/local/lnmp/php/bin/php
rpm -e `rpm -qa|grep php`  ##确认只有源码安装,没有rpm安装,以防产生冲突
source ~/.bash_profile
tar zxf memcache-2.2.5.tgz  
cd memcache-2.2.5
phpize

which phpize


./configure              ##执行该配置
make &&make install    ##编译,安装
cd /usr/local/lnmp/php/etc

vim php.ini        ##主要配置文件中加入扩展部分



/etc/init.d/php-fpm reload
php -m| grep memcache  ##成功则显示如下
 
yum install -y memcached  ##安装如下
/etc/init.d/memcached start
cd ~/memcache-2.2.5
cp example.php /usr/local/lnmp/nginx/html/
cp memcache.php /usr/local/lnmp/nginx/html/

vim /usr/local/lnmp/nginx/html/memcache.php  ##编辑用户名,密码以及本机地址



###########

测试结果如图:



原创粉丝点击