LNMP架構下的nginx、mysql、php的源碼安裝

1、LNMP的介紹php

   LNMP就是Linux+Nginx+Mysql+Php這種網站服務架構。Linux是一類Unix計算機操做系統的統稱,是目前最流行的免費操做系統,常見版本有:centos、ubuntu、debain、fedora、gentoo等。Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器。Mysql是一個小型關係型數據庫管理系統。PHP是一種在服務器端執行的嵌入HTML文檔的腳本語言。這四種軟件均爲開源軟件,組合在一塊兒成爲免費、高校、擴展性強的網站服務系統。
html

2、mysql的源碼編譯及配置
mysql

   (一) 源碼編譯
nginx

   1) 安裝源碼編譯工具cmake(cmake在軟件包中有,但版本低於2.8,因此須要本身下載一個2.8以上的rpm包)c++

   --->  yum  install  -y  cmake-2.8.12.2-4.e16.x86_64.rpm   算法

   2)從官網中下載mysql源碼包,並解壓
sql

   --->  tar  zxf  mysql-boost-5.7.17.tar.gz       
數據庫

   --->  cd  mysql-5.7.17

   3)建立預編譯環境,添加本身所須要的安裝條件ubuntu

   ---> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql       # 指定mysql安裝路徑
vim

                 -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data             # 數據存儲位置

                 -DWITH_INNOBASE_STORAGE_ENGINE=1                      # 安裝inmodb的存儲引擎

                 -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock     # socket文件存儲路徑

                           -DWITH_MYISAM_STORAGE_ENGINE=1                          # 安裝myisam存儲引擎

                 -DDEFAULT_CHARSET=utf8                                             # 使用編碼格式爲utf-8

                 -DDEFAULT_COLLATION=utf8_general_ci                       # 校驗字符

                 -DEXTRA_CHARSETS=all                                                   # 安裝全部擴展字符集

                 -DWITH_BOOST=boost/boost_1_59_0/                               # boost路徑

   # 該命令會出現以下錯誤:(一)沒有安裝c語言編譯器和c++編譯器

  

   解決方法:---  >  yum  install  gcc gcc-c++   -y         

   # 安裝編譯器以後,再次編譯,還會出現以下問題:(二)沒有ncurses-devel包

  

   解決方法:--->  yum install -y  ncurses-devel

           --->  rm -f CMakeCache.txt          

   # 此時再次進行預編譯,咱們能夠看到已經順利經過了。 (在此過程當中,缺什麼依賴包,咱們下什麼就行。有時也有可能會使用openssl-devel包)

   4)編譯彙編

   --->  make  &&  make install          # 該過程須要幾十分鐘

  

   (二)mysql的配置

   1)進入mysql安裝目錄,把默認配置文件放在/etc下

   --->  rpm  -qa  | grep mysql         # 查看mysql的版本

   --->  cd  /etc

   --->  mv  my.cnf  my.cnf.bak         # 先將/etc下的mysql配置文件重命名

   --->  cd  /usr/local/lnmp/mysql      # mysql的安裝位置

   --->  cd support-files

   --->  cp  my-default.cnf   /etc/my.cnf   # 將配置文件拷貝到/etc(系統默認配置文件目錄下 )

   2)修改/etc下的配置文件

   --->  vim  /etc/my.cnf       # 修改以下內容。

  basedir = /usr/local/lnmp/mysql            # mysql的安裝路徑

  datadir = /usr/local/lnmp/mysql/data     # 數據存放目錄

  port = 3306                                         # 端口號

  # server_id = .....

  socket = /usr/local/lnmp/mysql/data/mysql.sock    # socket文件存放目錄

   3)將編譯完成的mysql執行腳本複製到/etc/init.d/目錄

   ---> cp /usr/local/lnmp/mysql/support-files/mysql.server  /etc/init.d/mysqld    #若mysqld無執行權限,使用:chmod +x /etc/init.d/mysqld

   4) 將編譯生成的mysql二進制命令放進系統變量中。(方便直接使用mysql使用數據庫)

   --->  vim  ~/.bash_profile
  

   --->  source  ~/.bash_profile         # 加載.bash_profile,是配置生效

   5) 對mysql服務進行限制

   --->  groupadd -g 27  mysql      # 生成uid和gid均爲27的mysql用戶

   --->  useradd -u 27  -g  27  mysql

   --->  id  mysql     # 進行用戶信息的查看

  

   # 當前目錄在/usr/local/lnmp/mysql下

   --->  chown  root.mysql  .  -R      # 爲了保證數據的安全性,進行目錄執行權限的設定

   --->  chown  mysql.mysql  .  -R

   (三)mysql的安全初始化

   1)mysql密碼的設置

   --->  bin/mysqld  --initialize   --user=mysql    # 生稱隨機密碼

      

   --->  /etc/init.d/mysqld    start     # 啓動mysql服務

   --->  mysql_secure_installation       # 本身設置密碼,首密碼爲上面的隨機密碼(兩個回車,四個y)

   2)設置完成以後,咱們試着登錄如下mysql。

   --->  mysql  -p  

  

3、PHP的源碼安裝

   1)首先對php源碼包進行解壓

   --->  tar  jxf  php-5.6.35.tar.bz2

   --->  cd  php-5.6.35

   2)預編譯及所需環境的安裝(後面加了什麼參數,就須要安裝相應的依賴包)

   --->  ./configure --prefix=/usr/local/lnmp/php            # php安裝目錄

         --with-config-file-path=/usr/local/lnmp/php/etc     # 配置文件所在位置

         --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd 

         --with-pdo-mysql=mysqldnd                           # 支持與mysql創建鏈接

         --with-openssl                                      # 支持openssl的加密

         --with-snmp --with-gd --with-zlib --with-curl 

         --with-libxml-dir                                   # 支持libxml函數

         --with-png-dir --with-jpeg-dir --with-freetype-dir  # 支持php處理圖片

         --with-pear --with-gettext --with-gmp --enable-inline-optimization --enable-soap 

         --enable-ftp --enable-sockets --enable-mbstring 

         --enable-fpm --with-mcrypt --with-mhash              # 開啓fpm模式(nginx服務使用);mcrypt提供加密算法;mhash使用hash加密

   3) 解決依賴性鎖須要的包

   --->  yum install -y gd-devel-2.0.35-11.el6.x86_64.rpm libmcrypt-2.5.8-9.e16.x86_64.rpm re2c-0.13.5-1.el6.x86_64.rpm  libmcrypt-devel-
2.5.8-9.e16.x86_64.rpm            # 這些軟件包須要在官網上下載
   --->  yum install  libxml2-devel  openssl-devel  curl-devel  gmp-devel  net-snmp-devel  gcc  -y     # 這些包,能夠直接安裝

   # 以後,再次預編譯,就能夠成功了

   4)編譯和安裝

   --->  make && make install

   5) 建立nginx用戶

   --->  useradd nginx

   6) 修改php的配置文件

   --->  cd  /usr/local/lnmp/php/etc             # 進入配置文件所在目錄

   --->  cp  php-fpm.conf.default  php-fpm.conf  # 配置文件重命名

   --->  vim  php-fpm.conf      # 取消pid的註釋,並添加nginx用戶

  

  

   --->  cp /root/php-5.6.35/php.ini-production  /usr/local/lnmp/php/etc/php.ini

   --->  vim  php.ini           # 修改數據的時區。

  

   7)把php執行腳本複製到/etc/init.d/目錄下

   --->  cd /root/php-5.6.35/sapi/fpm

   --->  cp  init.d.php-fpm  /etc/init.d/php-fpm

   --->  chmod  +x  /etc/init.d/php-fpm

   8) 啓動php-fpm服務,並查看端口是否開啓

   --->  /etc/init.d/php-fpm  start     # 啓動php服務,默認在9000端口

   --->  netstat   -antlp

  

4、Nginx的源碼編譯

   1)下載源碼包,並解壓(帶有sticky模塊的nginx)

   --->  tar  zxf  nginx-1.14.0.tar.gz

   --->  yum install unzip  -y  

   --->  unzip  nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip

   2)去掉nginx的版本號

   --->  cd  /root/nginx-1.14.0

   --->  vim  src/core/nginx.h

  

   3) 註釋掉debug(能夠減小安裝內容)

   --->  cd  /root/nginx-1.14.0

   --->  vim  auto/cc/gcc

  

   4) 預編譯

   ---> ./configure --prefix=/usr/local/lnmp/nginx  --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --add-module=/root/nginx-goodies-nginx-sticky-module-ng-08a395c66e42

   5) 依賴包的安裝(按照提示,少什麼包安裝什麼包便可)

   --->  yum install -y  pcre-devel  -y

   6) 編譯安裝

   --->  make && make install

   7) 配置nginx服務

   --->  cd  /usr/local/lnmp/nginx/conf

   --->  lscpu               # 查看cpu的核數等相關信息 

   --->  vim nginx.conf      # 修改用戶,最大文件數,cpu,發佈首頁面,php信息

  

  

  

  

   --->  sysctl  -a | grep file             # 查看系統最大文件數

  

   --->  vim  /etc/security/limits.conf     # 修改nginx用戶作限制

  

   8)爲了方便使用nginx二進制命令,咱們能夠作一個軟鏈接

   --->  ln -s  /usr/local/lnmp/nginx/sbin/nginx /sbin

  

   9) 編寫nginx默認發佈文件

   --->  cd /usr/local/lnmp/nginx/html

   --->  vim index.php

  

   10)啓動nginx服務,並在瀏覽器中進行測試。

   --->  nginx   # nginx的其餘命令: nginx -s reload|stop  # 從新加載配置文件|關閉服務;

   # 在瀏覽器中結果以下

  

   到此,全部軟件的安裝就完成了。接下來,咱們就能夠進行論壇的部署了。

相關文章
相關標籤/搜索