ubuntu 14.04 nginx + mysql + php源碼安裝

來源:互聯網
上載者:User

標籤:

本文參考了 http://www.tuicool.com/articles/3iUNFnA  並在細節上做了一些補充。使安裝過程更加順暢。

首先要說的是ubuntu 上操作需要加sudo命令,所以在以下的命令上都要以sudo開始。

先安裝一些依賴資源gcc  g++ openssl  libssl-dev (RedHat、centos才是openssl-devel)

sudo apt-get install openssl sudo apt-get install libssl-devsudo apt-get install gcc g++

nginx安裝

nginx源碼包: nginx ,密碼:bi79

pcre源碼包: pcre ,密碼:uvqd

zlib源碼包: zlib ,密碼:i6pf

下載完成後,以我的為例,放入/usr/local/src中,將三個源碼包

tar -zxvf 源碼包

進行解壓。

然後進入nginx的解壓目錄。

cd nginx目錄

配置裡面的--prefix制定了nginx的安裝目錄,--conf-path制定了nginx設定檔的目錄,這裡的--with-pcre=後面的目錄是pcre的源碼包目錄,--with-zlib=後面的是zlib源碼包的路徑。

sudo ./configure --prefix=/usr/local --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-8.36 --with-zlib=../zlib-1.2.8

sudo make

sudo make install
啟動nginx
$/usr/local/nginx/nginx#幾個常用的nging命令$/usr/local/nginx -t    #測試預設為值的設定檔是否ok$/usr/local/nginx -c /etc/nginx.conf #指定nginx解析的設定檔$/usr/local/nginx -s stop|quit|reload|reopen  #停止或者重啟nginx

 

mysql安裝

mysql源碼包: mysql ,密碼:7qyu

mysql安裝使用的是cmake,沒有的自安裝, 

sudo apt-get install cmake

安裝ncurses-devel,在ubuntu下面是 

sudo apt-get install libncurses5-dev 

 

設定MYSQL使用者和使用者組

sudo groupadd mysqlsudo useradd -r -g mysql mysql

建立mysql目錄

sudo mkdir -p /usr/local/mysqlsudo mkdir -p /data/mysqldb

解壓下載的mysql源碼

tar -zxvf 源碼包

進入解壓的mysql目錄

cd mysql目錄

下民命令中的-DCMAKE_INSTALL_PREFIX=後面是mysql的安裝目錄,-DMYSQL_UNIX_ADDR=後面是監聽通訊端的路徑,預設為/tmp/mysql.sock,-DDEFAULT_CHARSET設定伺服器字元集,預設是latin1,-DMYSQL_DATADIR設定mysql資料的儲存目錄。

sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

 

結尾工作

修改mysql目錄所屬使用者

cd /usr/local/mysqlsudo chown -R mysql:mysql .

修改mysql資料庫檔案目錄所屬使用者

cd /usr/local/mysqlsudo chown -R mysql:mysql .

建立my.cnf檔案

cp /usr/local/mysql/support-files/my-deault.cnf /etc/my.cnf
編輯/etc/my.cn,添加下面的配置項
[mysqld]port=3306socket=/usr/local/mysql/mysql.sockdatadir=/data/mysqldbcharacter_set_server=utf8sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql]socket=/usr/local/mysql/mysql.sock[mysqladmin]socket=/usr/local/mysql/mysql.sock

將mysql添加到服務

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldservice mysqld status

如果上面可以顯示MYSQL資訊* MySQL is not running則添加服務ok

初始化mysql資料庫

cd /usr/local/mysqlsudo scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

執行完上面的命令,查看/data/mysqldb目錄中的內容,如果產生了內容說明初始化成功。

啟動MYSQL

service mysqld startps aux | grep mysqld

如果上面的命令之後可以看到mysqld的進程說明啟動mysql成功

修改mysql root使用者密碼

cp /usr/local/mysql/bin/mysql /usr/bin/mysqlcp /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladminmysqladmin -u root password ‘123456‘mysql -u root -p#輸入123456密碼

執行晚上面的命令,如果看到Welcome to the MySQL monitor....說明mysql安裝、啟動、串連ok。

注意事項

由於這裡設定了mysql相關目錄都是mysql:mysql,所以如果出現問題可以嘗試sudo解決,很可能是許可權的問題。

mysql安裝完之後啟動伺服器可能還會有很多問題,下面列幾個可能的問題:

  1. 設定檔的問題,mysql載入設定檔 my.cnf 的時候有個預設順序:

    a. /etc/my.cnfb. /etc/mysql/my.cnfc. /usr/local/mysql/my.cnfd. ~/my.cnf

    因此要是出現一些很奇怪的不好解決的問題一定要先看看是不是載入了你想要mysql載入的設定檔。

php安裝

php源碼包: php-5.6.13.tar.gz

freetype源碼包: freetype ,密碼:m5pc

freetype產生驗證碼的時候會用到(具體的就是imagettftext這個函數)

準備工作
  1. freetype安裝——產生驗證碼可能會用到
tar -xvf freetype-2.4.0.tar.bz2cd freetype-2.4.0./configure --prefix=/usr/local/freetypemakemake install
  1. 安裝curl、png、mcrypt
sudo apt-get install curl libcurl3 libcurl3-devsudo apt-get install libpng3 libpng3-devsudo apt-get install libmcrypt4 libmcrypt-devsudo apt-get install libxml2-dev

下面的安裝配置裡面。/usr/local/mysql為你安裝mysql的目錄。

sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem  --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --with-mysql=/usr/local/mysql -with-pdo-mysql=/usr/local/mysql --with-pcre-regex --with-iconv --with-zlib --with-mcrypt --with-gd --with-openssl --with-mhash --with-xmlrpc --with-curl --with-imap-ssl --enable-pdo --with-freetype-dir=/usr/local/freetype

sudo make

sudo make install

php配置
  1. php.ini管理 看看/usr/local/php/etc下面是否又設定檔,有的話cp一份命名為php.ini,沒有的話將源碼包裡面的php.ini*複製一份過來命名為php.ini
  2. php-fpm.conf管理 php-fpm.conf一般在安裝目錄的/usr/local/php/etc/php-fpm.conf.default這個位置
cd /usr/local/php/etccp php-fpm.conf.default php-fpm.conf

修改php-fpm.conf中的內容,主要是綁定的ip、連接埠或者unix socket,下面是我的配置,可以適當參考

pid = run/php-fpm.piderror_log = log/php-fpm.loglog_level = noticedaemonize = yesrlimit_files = 1024user = nobodygroup = nobodylisten = 127.0.0.1:9000pm = dynamicpm.max_children = 5pm.start_servers = 2pm.min_spare_servers = 1pm.max_spare_servers = 3

啟動php-fpm

$cp /usr/local/php/sbin/php-fpm /usr/bin/php-fpm$php-fpm -t     #測試預設設定檔是否ok$php-fpm$ps aux | grep php-fpm

 

如果看到php-fpm的進程說明php-fpm啟動成功。 php-fpm的結束

$kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

 

完!!!

ubuntu 14.04 nginx + mysql + php源碼安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.