lnmp編譯安裝

lamp:
卸載php
查看是否有php

rpm -qa | grep php

卸載

yum remove php*

查看有沒有php.ini的配置文件
有必要在全局下(根目錄)搜索下 php.*文件,看還有沒有,有則刪除


卸載 mysql
查看是否有 mysql軟件:

rpm -qa | grep mysql

若是有

yum remove mysql* compat-mysql
rm -rf /var/lib/mysql
rm /etc/my.cnf

再有必要在全局下(根目錄)搜索下 my.*文件,看還有沒有,有則刪除

find . -name my.*

卸載 apache,在根目錄下查找 httpd

find . -name httpd

關閉 httpd服務

/路徑/httpd stop

列出httpd 相關程序包

rpm -qa|grep httpd

卸載包

rpm -e --nodeps httpd

關閉 iptables 和 SELINUX

service iptables stop
vim /etc/sysconfig/selinux

而後,修改

SELINUX=disable

上面是爲安裝做準備
下面是真正的安裝的開始
因爲linux的關係,每一個軟件都有一個默認的安裝路徑,
如:/usr/local,通常都安裝在這裏,此爲安裝的路徑前,
能夠經過軟件的

./configure --help #查看

若是要修改安裝路徑,則能夠

--prefix=路徑

來修改,這裏都用默認的,不用修改,方便查看

源碼安裝 mysql
安裝選擇的是 Source Code平臺的
下載版本爲 mysql-5.6.23.tar.gz
此版本要本身親自編譯,因此最好不過了
安裝編譯源碼所需的工具和庫

yum install gcc gcc-c++ ncurses-devel perl curses

其中,通常要安裝兩種包,相似: pcre和pcre-devel
pcre提供編譯版本的庫,
pcre-devel提供開發階段的頭文件和編譯項目的源代碼,
因此是咱們所須要的


安裝cmake,從http://www.cmake.org下載源碼並編譯安裝
爲了方便,把 cmake-NN.tar.gz複製到 /usr/local裏

tar -xzvf cmake-NN.tar.gz  
cd cmake-NN  
./bootstrap
make && make install 

編譯安裝,根據官網
設置MySQL用戶和組

新增mysql用戶組

groupadd mysql

新增mysql用戶

useradd -r -g mysql mysql

解壓 mysql壓縮包,此時方法,我把壓縮包放在 /usr/local裏

tar zxvf mysql-VERSION.tar.gz
cd mysql-VERSION

用cmake編譯和安裝

cmake .  # 此時有可能提示 ncurses-devel 沒有安裝,從新 yum install ncurses-devel
make && make install

修改mysql目錄全部者和組

cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .

初始化mysql數據庫

scripts/mysql_install_db --user=mysql

修改mysql數據庫文件目錄

chown -R root .
chown -R mysql data

設置安全

bin/mysqld_safe --user=mysql &

複製mysql服務啓動配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

複製mysql服務啓動腳本及加入PATH路徑

cp support-files/mysql.server /etc/init.d/mysqld

用vim打開

vim /etc/profile

添加以下內容:


PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

保存退出,而後

source /etc/profile

啓動mysql服務

service mysqld start

啓動 mysql命令登錄

ln -s /usr/local/mysql/bin/mysql /usr/bin #作個連接便可

此時,能夠登錄數據庫

mysql -h localhost -u root -p

密碼爲空
而後能夠修理那些用戶名
如刪除危險的,設置密碼...
設置密碼(123456)以下

update user set Password=password('123456') where Host='localhost';

刷新權限

flush privileges;

可能會出現的錯誤:

Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid). 

解決:先刪除 /etc/my.cnf文件,而後
再從上面步驟中的 

scripts/mysql_install_db --user=mysql

開始到結束再從新來一次

若是仍是不行,直接查看這個文件,通常提示就是內存不足,此時可經過增長 swap來實現,
具體方法參考:http://www.cnblogs.com/lin3615/p/4666788.html此時mysql安裝成功,lamp,lnmp都用這種方式安裝 m如下安裝 nginxphp

安裝編譯工具 yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++ yum install openssl yum install openssl-devel yum install zlib yum install zlib-devel yum install pcre yum install pcre-devel 安裝 nginx開始,先複製壓縮包到 /usr/local 結合官網加上對應的參數,如 --prefix=/usr/local/nginx --with-http_ssl_module (支持 ssl) tar -zxvf nginx-version. cd nginx-varsion ./configure make && make install 若是有問題,能夠換個版本用 啓動nginx /usr/local/nginx/sbin/nginx 關閉 nginx /usr/local/nginx/sbin/nginx -s stop nginx下安裝 php tar -zxvf php-version.tar.gz cd php-version ./configure --enable-fpm --with-mysql \ --with-mysqli --with-fpm-user=用戶名 \ --with-fpm-group=用戶組名 --enable-calendar \ --enable-mbstring --enable-soap --enable-sockets \ --enable-zip --with-gd --enable-ftp \ --enable-libxml --with-curl \ --with-openssl --with-mcrypt=/usr/local/lib \ --with-config-file-path = /usr/local/php/php.ini --enable-pcntl --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --enable-session --enable-gd-native-ttf --with-iconv --with-zlib --with-xml 編譯安裝 make && make install 其中 --with-config-file-path 指定 php.ini路徑,若是加上了, 在啓動時就不用加上這個路徑 若是提示沒有哪一個,就分別yum 或者 編譯安裝 enable-pcntl 參數支持多進程, with-freetype-dir 支持圖片驗碼,要單獨安裝freetype with-jpeg-dir with-png-dir 有可能會報錯,直接安裝 對應的包 yum install libjpeg* libpng* 便可 其中的確 mcrypt可能要安裝別的文件來完成 若是提示須要,編譯這些時,則可下載 libmcrypt(libmcrypt-2.5.8.tar.gz ): mcrypt(mcrypt-2.6.8.tar.gz ): mhash(mhash-0.9.9.9.tar.gz ): 先安裝 libmcrypt,再mhash,最後才mcrypt 步驟基本是 解壓,安裝,如 tar -zxvf xxxx.gz.gz cd xxxx ./configure make && make install 當安裝 mcrypt時,會提示 by modifying LD_LIBRARY_PATH, 則用如下方式指定 LD_LIBRARY_PATH=/usr/local/lib ./configure make && make install 複製文件到指定的位置 cp php.ini-production /usr/local/php/php.ini #配置文件路徑 cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf cp sapi/fpm/php-fpm /usr/local/bin 打開 php.ini vim /usr/local/php/php.ini 定位到 cgi.fix_pathinfo= 並將其修改成以下 cgi.fix_pathinfo=0 打開 php-fpm.conf文件 vim /usr/local/etc/php-fpm.conf 查看 ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = xxxx group = xxxx 若是用戶和組不存在,增長一個存在,或在 系統中用 useradd, groupadd 增長 啓動 php-fpm 時,得加上 php.ini的路徑(能夠先查看 php-fpm文件在哪裏), 每次啓動時,必定得加上,否則用不到這裏的配置文件 php-fpm -c /usr/local/php/php.ini 若是在編譯時加入了 --with-config-file-path參數,則直接用 php-fpm 不用再加上後面的參數 若是出現 9000佔用 killall php-fpm 而後重啓 php-fpm -c /usr/local/php/php.ini 配置nginx,使其支持 php(必定要檢查路徑) vim /usr/local/nginx/conf/nginx.conf 接下來,參考php手冊便可 修改默認的 location 塊,使其支持 .php 文件 location / { root html; index index.php index.html index.htm; } 下一步配置來保證對於 .php 文件的請求將被傳送到後端的 PHP-FPM 模塊, 取消默認的 PHP 配置塊的註釋, 並修改成下面的內容 location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } 重啓 Nginx /usr/local/nginx/sbin/nginx -s stop /usr/local/nginx/sbin/nginx 爲了可以實現重啓php, 設置 php-fpm.conf中的參數,開啓pid的位置 ;pid=run/php-fpm.pid 修改成 pid=run/php-fpm.pid 而後能夠先中止 php,其中 php-fpm.pid的路徑要正確 kill -INT `cat /usr/local/php/run/php-fpm.pid` 啓動 php php-fpm -c /usr/local/php/php.ini 

設置開機自啓動 nginx,php-fpm, mysql及修改系統最大鏈接數,默認爲1024html

vim /etc/rc.local
ulimit -SHn 65535 #永久開戶修改最大文件數
/usr/local/nginx/sbin/nginx   #nginx腳本所在的絕對路徑
/usr/local/bin/php-fpm -c /usr/local/php/php.ini  #php-fpm和 php.ini的絕對路徑node

而後用 chkconfig --level 2345 mysqld on 開啓 mysql,可用chkconfig --list 查看 mysqld狀態mysql

相關文章
相關標籤/搜索