说明: 操作过程是安装老男孩运维课程内容进行整理的,虽然自己修改了,但是主要的格式和思路都是课程内的。
目录
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
浙公网安备 33010602011771号