目錄
1、 CentOS 7 的安裝 ..................................................................................................................... 3
2、 MySQL 5.7 的安裝 ................................................................................................................... 9
3、 PHP 7.0 的安裝 ....................................................................................................................... 14
4、 Nginx 的安裝 ........................................................................................................................... 21php
CentOS 的安裝基本和其餘的 Linux 安裝基本一致,CentOS 7下載地址:https://www.centos.org/download/mysql
這裏根據本身的實際狀況來作選擇,通常「軟件選擇」這一項都選擇最小安裝,就
是不用安裝界面。「網絡和主機名」若是你已經鏈接網絡了,那麼選擇這一項,進行開啓
網絡,系統會自動獲取 ip 而且鏈接到網絡nginx
在這裏咱們能夠進行建立用戶或者給 Root 用戶設置密碼sql
設置完密碼後點擊完成,而後等待安裝完成。當安裝完成後,會提示重啓計算機。
這時點擊重啓,從新啓動計算機,CentOS 7 就安裝完成了。數據庫
這裏咱們輸入 root。密碼輸入咱們在安裝的時候設置的密碼登陸便可centos
登陸以後咱們就能夠看到操做界面api
因爲 CentOS 自帶了 OpenSSH-Server。因此咱們無需在安裝 OpenSSH-Server,我
們這裏只須要設置開啓 SSH-Server 的 Root 遠程登陸便可,固然這個根據實際狀況來作
決定,通常生產環境爲了安全是不會開啓這個的,這裏咱們爲了方便開啓 root 的遠程登
錄。
首先進入/etc/ssh 目錄,cd /etc/ssh,而後打開編輯文件「sshd_config」vi sshd_config。而後咱們找到 PermitRootLogin,而後刪除掉註釋的「#」,瀏覽器
而後保存而且退出。而後咱們執行命令 service sshd restart 重啓 sshd 服務,而後我
們用命令 ps –ef | grep sshd 看 sshd 有沒有啓動,以下圖證實服務已經啓動安全
因爲 CentOS 默認開啓了防火牆 FireWall,因此咱們須要開啓 ssh 的 22 端口咱們才
能用 SecureCRT 鏈接 CentOS 進行操做,使用命令 firewall-cmd –-permanent –-add-
port=22/tcp。這樣咱們就永久開啓了 22 端口,而後執行命令 firewall-cmd -–reload 來
從新加載配置防火牆配置文件,而後再執行命令 firewall-cmd -–list-ports 看看端口是
否開啓。以下圖服務器
這裏的設置如上設置開啓 22 端口的方法同樣。
這個設置同上,開啓 80 端口便可
這裏咱們看到找到的 mysql 版本是 5.7,是和咱們下載的源的那個版本是對應的,5.7也是目前最新的版本。開始安裝,由於要下載安裝包以及相關的依賴包,因此可能須要一點時間,耐心等待安裝完成就好。
首先咱們進入/etc 目錄,而後編輯 my.cnf 文件,在最後一行加上 skip-grant-tables這段代碼,這段代碼表示跳過 mysql 的密碼驗證。
而後保存退出,而後執行命令::service mysqld restart 重啓 mysql 服務
而後咱們能夠用命令:mysql –u root,執行這段命令後,會直接進入 mysql,無需輸入密碼
而後咱們執行 sql 命令:use mysql;進入 mysql 這個數據庫
而後再執行 sql 命令:update mysql.user set authentication_string=password('123456')where user='root' and Host = 'localhost';來修改 root 的密碼,執行完成後,會提示咱們修改的結果,以下圖表示修改爲功。
而後咱們再執行 sql:flush privileges;命令提交剛纔的修改
而後咱們再修改/etc/my.cnf 文件,註釋掉剛纔咱們添加的那行配置
而後保存並退出,再執行命令::service mysqld restart 重啓 mysql 服務,而後執行命令:mysql –r root –p 命令來登錄 mysql
執行後,會提示咱們輸入密碼,咱們輸入剛纔修改的密碼回車就能夠登錄
可是這個時候咱們登錄以後想開啓遠程鏈接會提示我重置密碼。
這個時候 mysql 會提示咱們必需要從新初始化密碼咱們才能進行操做。那咱們必須執行命令:alter user 'root'@'localhost' identified by '123456';重置密碼,可是這個命令會提示咱們設置的密碼不符合規則。
咱們設置複雜點的密碼,在執行命令:alter user 'root'@'localhost' identified by 'Mtl@.com123';這個時候提示咱們修改爲功。
再執行 flush privileges;提交修改結果
而後執行 exit 退出 mysql 登錄,在執行 mysql –u root –p 來,而後再輸入剛纔重置的密碼登錄
然 後 再 執 行 : GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Mtl@.com123' WITH GRANT OPTION;這其中 BY 後面的就是咱們上面設置的密碼
再執行 flush privileges;提交修改結果
如今咱們就能夠用 Navicat 工具,用 root 身份來登錄 mysql 了
而後下載 wget http://cn2.php.net/distributions/php-7.0.6.tar.gz 下載完成以後咱們解壓文件,tar -zxvf php-7.0.6.tar.gz。解壓後咱們獲得文件夾 php-7.0.6。
進入解壓後的文件夾 cd php-7.0.6.而後檢查和設置編譯配置
進行編譯前的配置
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/php.d \
--with-mcrypt=/usr/include \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache
上面命令中的--prefix=/usr/local/php 爲咱們 php 的安裝路徑,執行上面命令後,就會提示咱們系統沒有編譯器,以下圖:
咱們這裏安裝 gcc 編譯器,yum install gcc,安裝後咱們再次執行上面的命令這個時候
又提示咱們系統沒有 libxml2 依賴包。
咱們繼續安裝須要的依賴包 yum install libxml2,爲了所有安裝 php 須要的依賴包,我
們這裏直接所有安裝。
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel openssl openssl-devel
yum -y install curl-devel
yum -y install libxslt-devel 執行這三條安裝命令後,php 須要的依賴包基本所有安裝
完成。咱們再次執行 ./configure ….這條命令。這個時候環境檢查提示咱們成功,能夠
進行編譯了。以下圖:
編譯安裝php報錯PHP configure: error: mcrypt.h not found. Please reinstall libmcrypt. 解決辦法
使用php mcrypt 前必須先安裝Libmcrypt
libmcrypt源碼安裝方法:
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure –prefix=/usr/local
make
make install
如今咱們能夠執行 make 命令進行編譯了。執行 make 命令編譯。這裏編譯須要一段
時間。須要耐心等待。編譯完成以後,提示咱們執行 make test 來測試,其實我這裏也
能夠不用測試。以下圖:
我這裏執行 make test 測試。這個過程也須要等待比較長時間。等待測試完成以後,通常不出現大問題的狀況下都會測試經過,他會提示咱們是否發送信息,咱們選擇否
而後咱們執行 make install 安裝。
安裝完成以後,咱們執行 make clean 清理編譯的文件。
而後咱們能夠利用 whereis php 查看安裝路徑
調整php配置
默認安裝好以後,你會發現/usr/local/php/etc下面沒有php.ini文件,這個去哪裏要呢?在php7的源碼安裝包都有。
$ cd /usr/src/php-7.0.6/ $ ls
能夠看到有兩個php.ini-xxx文件,咱們能夠分別vi打開來看下,一個是產品模式,一個是開發模式。
$ cp php.ini-production /usr/local/php/etc/php.ini $ vi /usr/local/php/etc/php.ini
能夠看到php的配置。本文就不作過多的配置解釋了。
編輯該文件,vi /usr/local/php/etc/php.ini,找到 data.timezone 節點,去掉註釋,設置時區爲
Asia/Shanghai
data.timezone = ‘Asia/Shanghai’至於其餘的設置,具體參考百度,這裏不作詳細說
明,而後保存退出。
上面咱們在編譯php7的時候,已經將fpm模塊編譯了,那麼接下來,咱們要啓用php-fpm。可是默認狀況下它的配置文件和服務都沒有啓用,因此要咱們本身來搞定。
搞定配置文件:
$ cd /usr/local/php/etc $ mv php-fpm.conf.default php-fpm.conf $ mv php-fpm.d/www.conf.default php-fpm.d/www.conf
經過 cat www.conf。咱們就會看到 fpm 的一些配置信息了。
其中的 listen 爲 php-fpm 監聽的地址。這些咱們都無需配置了。默認就好。而後咱們進入目錄/usr/local/php/sbin。而後執行./php-fpm –t 來測試配置信息是否有正確
若是沒有異常,則說明 fpm 配置正確。剩下的就是咱們須要在 nginx 中配置 php 的解析信息了。
php-fpm的具體配置咱們也不作深刻去詳解,由於在編譯以前./configure的時候,咱們都已經肯定了一些配置,好比運行fpm的用戶和用戶組之類的,因此默認配置應該不會存在路徑問題和權限問題。
搞定php-fpm的服務載入:
就像上面的nginx同樣,咱們但願使用service php-fpm start|stop|restart這些操做來實現服務的重啓,但沒有像nginx那麼複雜,php編譯好以後,給咱們提供了一個php-fpm的程序,不須要我再編寫分享了。這個文件放在php編譯源碼目錄中:
$ cd /usr/src/php-7.0.6/sapi/fpm $ ls $ cp init.d.php-fpm /etc/init.d/php-fpm $ chmod +x /etc/init.d/php-fpm $ chkconfig --add php-fpm $ chkconfig php-fpm on
經過上面這個操做,咱們就可使用sevice php-fpm start
來啓用php-fpm了。用ps -ef | grep php-fpm
看看進程吧。
1. Nginx 的安裝有源碼編譯安裝和 rpm 包安裝,通常生產環境的服務器都採用 rpm 包安裝,免去了在服務器安裝編譯器等其餘庫帶來的麻煩和不安全性這裏咱們去官網下載:
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm,
而後安裝 rpm –ivh nginx-release-centos-5-0.el5.ngx.noarch.rpm
安裝完成以後咱們查看安裝路徑 whereis nginx
而後咱們進入/etc/nginx,編輯 nginx.conf 配置文件 vi nginx.conf,而後配置 php 的解析服務器
編輯完成以後保存而且退出,執行/usr/sbin/nginx –t 來測試配置信息是否正確
而後/usr/sbin/nginx 啓動 nginx。若是 nginx 已經啓動,則利用從新加載配置文件/usr/sbin/nginx –s reload。而後在啓動 fpm,在 php 的安裝目錄下有 fpm 程序,運行他便可。我這裏的目錄是/usr/local/php,而後進入 sbin 目錄而後./php-fpm 就能夠啓動了,固然你也能夠直接執行/usr/local/php/sbin/php-fpm 啓動。
根據上面的配置,咱們在/home/www 這個站點目錄下新建一個 index.php,而後輸入
<? echo phpinfo(); ?> 而後保存退出
在瀏覽器中輸入http://192.168.177.135/index.php來測試,若是成功瀏覽器會打印php環境的信息。
若是在訪問,則須要在防火牆開通 80 端口,firewall-cmd -–permanent -–add-port=80/tcp 而後再執行 firewall-cmd -–reload。如今就能夠訪問了。