• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
cherys
   首页    新随笔       管理     
定制LNMP环境的rpm包

说明: 操作过程是安装老男孩运维课程内容进行整理的,虽然自己修改了,但是主要的格式和思路都是课程内的。

目录
  • 0 FTP工具
  • 1 Nginx封装
    • 1.1 脚本
    • 1.2 封装命令
  • 2 Mysql封装
    • 2.1 Mysq安装包
      • 2.1.1 脚本
      • 2.1.2 封装命令
    • 2.2 MySQL初始化包
      • 2.2.1 脚本
  • 3 PHP封装
    • 3.1 脚本
    • 3.2 封装命令
  • 4 yum 安装依赖
  • 5 V1.0已知问题:

0 FTP工具

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable --ruby
source /usr/local/rvm/scripts/rvm
ruby -v
whereis ruby
rvm requirements
rvm install 2.4.1
rvm use 2.4.1 --default
ruby -v
gem -v
gem install fpm -v 1.3.3

1 Nginx封装

1.1 脚本

cat>/server/scripts/nginx_install.sh<<EOF
useradd www -M -s /sbin/nologin -u 1000
ln -s /application/nginx-1.6.3 /application/nginx
echo -e '\n# Nginx Server\n/application/nginx/sbin/nginx'>>/etc/rc.local
EOF

1.2 封装命令

fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_install.sh -f /application/nginx-1.6.3/ /application/nginx/sbin/nginx

说明:这个nginx依赖pcre-devel,openssl-devel这两个包,文件有nginx目录和nginx启动脚本。

2 Mysql封装

2.1 Mysq安装包

2.1.1 脚本

cat>/server/scripts/mysql_install.sh<<EOF
# !/bin/sh
useradd mysql -M -s /sbin/nologin -u 1001
ln -s /application/mysql-5.5.54 /application/mysql
echo -e '\n# mysql server\n/etc/init.d/mysqld start'>>/etc/rc.local
EOF

2.1.2 封装命令

fpm -s dir -t rpm -n mysql -v 5.5.54 -d 'ncurses-devel' --post-install /server/scripts/mysql_install.sh -f /application/mysql-5.5.54 /etc/init.d/mysqld

说明:这是一个没有初始化的mysql安装包

2.2 MySQL初始化包

2.2.1 脚本

cat>/server/scripts/mysql_init.sh<<EOF
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
chown -R mysql.mysql /application/mysql
echo 'PATH="/application/mysql/bin:$PATH"' >>/etc/profile
cp /tmp/my.cnf /etc/my.cnf
EOF

2.2.2 封装命令

fpm -s dir -t rpm -n mysql-init -v 1.0 -d 'mysql' --post-install /server/scripts/mysql_init.sh -f /tmp/my.cnf

说明:这个包括初试化数据库,并复制一份配置文件,依赖于mysql-5.5.54-1.x86_64.rpm

3 PHP封装

3.1 脚本

cat>>/server/scripts/php_install.sh<<EOF
ln -s /application/php5.6.32 /application/php
echo -e '\n# PHP Server\n/application/php/sbin/php-fpm'>>/etc/rc.local
EOF

3.2 封装命令

fpm -s dir -t rpm -n php -v 5.6.32 -d 'zlib-devel,libxml2-devel,libjpeg-devel,libjpeg-turbo-devel,freetype-devel,libpng-devel,gd-devel,libcurl-devel,libxslt-devel,libxslt-devel,libmcrypt-devel,mhash,mcrypt,openssl-devel' --post-install /server/scripts/php_install.sh /application/php5.6.32/ /usr/local/libiconv/ /application/php/sbin/php-fpm

4 yum 安装依赖

yum -y install pcre-devel openssl-devel ncurses-devel zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel mhash mcrypt

5 V1.0已知问题:

mysql没启用(脚本命令错误)

/etc/init.d/mysqld start

php服务错误 (内容不对 导致 id错误,缺少依赖 )

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
cp /usr/local/libiconv/lib/libiconv.so.2  /usr/lib64/libiconv.so.2
useradd www -M -s /sbin/nologin -u 1000

nginx

posted on 2017-11-15 19:37  cherys  阅读(304)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3