安装包介绍:
根据用户的需求,安装指定的软件。nginx默认安装在/usr/local/nginx,启动脚本在/usr/local/nginx/conf/nginx;php安装在/usr/local/php,启动脚本为/usr/local/php/sbin/php-fpm;MySQL安装在/usr/local/mysql,启动脚本为/etc/init.d/mysqld。
将各个服务的安装脚本依次写为函数。脚本文件在lib文件夹内,并在不同的脚本文件中,在主函数install中先声明脚本文件,再根据需要调用相应的函数。安装包在src目录下。需要的nginx和php配置文件在conf目录下。
使用指南:./install.sh --mysql --nginx。即可安装mysql和nginx服务。
一:根据用户的需求不同,安装指定的软件。用什么方式处理?比如,install --nginx --mysql。则只安装nginx和mysql 处理方式:使用case for循环解决 for (( i=1 ; i<=$VarNum ; i )) #VarNum=$#等于输入变量的个数。利用此进行循环。 do case ${!i} in #取出i的数值后,在取出该数值对应的变量。与下面某一个匹配,就调用相应的函数。 --nginx) ins_nginx;; --mysql) ins_mysql;; --php) ins_pecl ins_apc ins_php;; --memcache) ins_memcache;; *) helpme exit;; esac done
二:安装mysql后,启动报错, 处理方式:根据源文件指示。应该在/etc/init.d/mysqld文件中修改两处即可 datadir=/data/mysql basedir=/usr/local/mysql 指定mysql的数据存放路径和安装目录即可。
三:php与nginx的连接问题。nginx服务正常,php-fpm已经启动,却不能浏览php文件。 处理方式:在nginx.conf配置文件中,加上一下配置 location ~ .php$ { #定位所有以php结尾的请求 root html; fastcgi_pass 127.0.0.1:9000; #此地址和端口要和php-fpm的配置文件相同。 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME html$fastcgi_script_name; #注意这里,html是指定了php文件的路径,这里是相对路径。与静态页面在同一目录下。 include fastcgi_params; }
四:mysql函数出现死循环,一直在调用安装mysql函数 处理方式: sed -i '/^PATH/s#&#:/usr/local/mysql/bin#' /root/.bash_profile source /root/.bash_profile 注释掉这两行即可。