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
數據庫
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路徑
解決方法:--- > 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 support-files
---> cp my-default.cnf /etc/my.cnf # 將配置文件拷貝到/etc(系統默認配置文件目錄下 )
---> vim /etc/my.cnf # 修改以下內容。
---> 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) 解決依賴性鎖須要的包
# 以後,再次預編譯,就能夠成功了
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
---> 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 # 從新加載配置文件|關閉服務;
# 在瀏覽器中結果以下
到此,全部軟件的安裝就完成了。接下來,咱們就能夠進行論壇的部署了。