安裝包介紹: 根據使用者的需求,安裝指定的軟體。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;; esacdone
二:安裝mysql後,啟動報錯,處理方式:根據源檔案指示。應該在/etc/init.d/mysqld檔案中修改兩處即可datadir=/data/mysqlbasedir=/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注釋掉這兩行即可。