LNMP一键安装问题

安装包介绍:

根据用户的需求,安装指定的软件。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
注释掉这两行即可。

相关阅读:

相关推荐