中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在mac中安裝nginx和php

發布時間:2021-02-24 16:59:32 來源:億速云 閱讀:230 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在mac中安裝nginx和php,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1.1、環境選擇:
重新在mac上配置php,原本mac上就自帶有apach、php以及pgsql,如果圖簡單的話,直接用就可以了,不過在安裝前我仔細思考了一下幾個問題:
選apache還是nginx:兩個我了解的都比較少,相對而言我接觸nginx比較多,服務器用的也是nginx,沒辦法誰叫nginx負載高呢。為了更好的接觸nginx的環境,我決定還是統一下環境,方便今后使用,這是這次的主要關鍵;
安裝php:Mac os自帶了php,好像是5.3.8,版本比較落后,不過這不礙事,因為以前我都是通過php-osx by Liip來管理php,所以不擔心版本問題。不過php-osx by Liip好像沒有fmp相關的配置,這樣我我要和nginx一起用的話就相對比較麻煩了,那我只能選擇其他方案了
安裝mysql:這個就沒有什么好疑問的了,目前我肯定不會去用pgsql,畢竟沒接觸過,需要有學習成本的,所以我在這篇紀錄中把關于pgsql的部分都去掉了
1.2、那該如何安裝:
既然我否定了系統自帶的環境,那么就要通過別的方式去安裝了,比如說手動編譯。如果是手動編譯的話,那么就會遇到下面幾個問題:
編譯費事,php依賴那么多程序,一個個安裝,太累!
如果以后更新怎么辦?災難!!
不過好在mac下有自己的第三方管理程序:homebrew,而且相對而言我覺得他可能在某些方面更優越于linux下的apt-get、yum。如果通過homebrew來安裝、管理運行環境的話,至少可以解決我幾個問題:
安裝問題,我不用繁瑣的去安裝依賴程序
升級問題,只需要brew update一次升級所有程序
版本問題,homebrew版本更新比較及時,而apt-get、yum來說,今年用的基本是幾年前的穩定版本了
OK,下面的安裝都是基于 homebrew,如果不熟悉或者還沒安裝有 homebrew 的話,可以查看這篇關于:Mac開發者利器-Homebrew介紹及安裝。
二、安裝nginx
2.1、安裝:
用 brew 一鍵安裝 nignx:
1
brew install nginx
如果需要安裝其他 nginx 的版本,可以 “brew edit nginx” 打開修改 nginx 的安裝信息包 formula,默認會用 vi 打開,在文件開頭處修改 nginx 相應版本的下載地址就行。
2.2、配置
brew 執行完后,nginx 就安裝好了。可以用以下指令對 nginx 進行操作:

復制代碼 代碼如下:


#打開 nginx
sudo nginx
 


#重新加載|重啟|停止|退出 nginx
nginx -s reload|reopen|stop|quit
打開 nginx 后,默認的訪問端口 8080,如果要改為常用的 80 端口,則要修改 “/usr/local/etc/nginx/nginx.conf” 下監聽(listen)端口值。
默認的文件訪問目錄(root)是 “/usr/local/Cellar/nginx/1.4.2/html”(這里的1.4.2是安裝的nginx的版本,文件夾名以安裝的nginx版本為準)。
2.3、把 nginx 設置為開機啟動運行:

復制代碼 代碼如下:


mkdir -p ~/Library/LaunchAgents/

cp /usr/local/Cellar/nginx/1.4.2/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist


不過試了一下,不是超級用戶登陸,而是普通用戶登陸,并且監聽的端口在1024以下的(例如把默認的8080端口改為了80端口),nginx 開機是啟動不了。因此,要 nginx 開機啟動的話,需要給予它管理員權限:

復制代碼 代碼如下:


2
sudo chown root:wheel /usr/local/Cellar/nginx/1.4.2/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.4.2/bin/nginx


三、安裝mysql
3.1、安裝:

復制代碼 代碼如下:


brew install mysql


homebrew安裝的版本同樣是當前最新的穩定版,安裝的過程比較簡單,不過初始化就相對麻煩很多了,這里我失敗了很多次。
3.2、配置:
3.2.1、初始化
初始安裝 mysql 的一些配置數據庫(例如:information_schema、mysql)

復制代碼 代碼如下:


sudo mysql_install_db \
--verbose --user=`whoami` \
--basedir="$(brew --prefix mysql)" \
--datadir=/usr/local/var/mysql \
--tmpdir=/tmp \
--explicit_defaults_for_timestamp


這里我遇到了兩個問題,過程都沒紀錄,這里簡單提下解決方案:
系統建議我添加“–explicit_defaults_for_timestamp”;
安裝過程中會遇到幾個error,說是db的幾個文件不存在;
網上搜索了下,大多是建議將/usr/local/var/mysql這個目錄修改下權限;
我操作后發現可能不是這樣的,造成這個問題在于我在之前操作遇到了錯誤中止了,生成了一個不完整var目錄,所以每次安裝失敗我就刪除以下文件,重新初始化就好了

復制代碼 代碼如下:


sudo rm /usr/local/opt/mysql/my.cnf
sudo rm -R /usr/local/var/mysql/


待安裝完畢后,會出現一大段mysql相關信息,運行下面的命令啟動mysql

復制代碼 代碼如下:


/usr/local/opt/mysql/bin/mysqld_safe &


執行完后,就可以在終端里運行 “mysql”,直接進入mysql數據庫里。對,不用輸入密碼,可以直接連接,初始默認是可以匿名訪問的。
3.2.2、修改密碼
超級用戶 “root” 也是沒設密碼,要設密碼的話可以執行下面指令

復制代碼 代碼如下:


/usr/local/opt/mysql/bin/mysqladmin -u root password 'new-password'


現在訪問 mysql 還是不用密碼就可以連接,如果要設置一些登陸密碼的安全訪問限制,則需執行下面的 mysql安全安裝指令

復制代碼 代碼如下:


/usr/local/opt/mysql/bin/mysql_secure_installation


主要是設置修改root密碼(設置過了可以不用設置,略過)、刪除匿名訪問、刪除root網絡訪問、刪除test數據庫。指令執行完后,登陸mysql就需要密碼驗證了

復制代碼 代碼如下:


mysql -u root -p


3.3、開機啟動mysql

復制代碼 代碼如下:


mkdir -p ~/Library/LaunchAgents/

cp /usr/local/Cellar/mysql/5.6.13/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist


至此,mysql安裝完畢。
四、安裝php、php-fpm…
4.1、安裝
Mac是預裝了php,不過很多擴展都沒安裝,目測最多只能在終端里執行下php指令,所以我選擇重新安裝php。由于 brew 默認是沒有 php 安裝,所以要使用 “brew tap” 來安裝 brew 的第三方程序包,這里使用 josegonzalez 的php安裝包,具體操作如下:

復制代碼 代碼如下:


brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php


執行完后,就可以用 brew 安裝php了。這里php有幾個版本可以安裝,具體可以執行 “brew search php” 查看一下有什么php版本可以安裝,一般會有“php52、php53、php54、php55”版本,我安裝的是最新的php5.5版本。由于PHP5.5版本已經內嵌了 FPM(FastCGI Process Manager),在安裝選項里標明就行,本人 php 的安裝配置指令如下:

復制代碼 代碼如下:


sudo brew install php55 \
--with-debug \
--with-fpm \
--with-gmp \
--with-homebrew-openssl \
--with-imap --with-intl \
--with-libmysql \
--without-bz2 \
--without-mysql \
--without-pcntl \
--without-pear


更多的安裝選項可以通過 “brew options php55″ 查看。
提示:–with-cgi不能和–with-fpm一起安裝,互相沖突
指令執行完后,php 跟 php-fpm 就安裝好了。
4.2、配置
由于是重裝php,之前系統預裝的php還沒卸載,因此在終端調用php時,還是以之前系統的php版本做解析,所以這里需要修改path,指定 php 的解析路徑。在~/.bashrc(沒有則創建)最后加入一行:

復制代碼 代碼如下:


export PATH="$(brew --prefix php54)/bin:$PATH"
[html]
[code]
source ./.profile


不存在這個文件的朋友請參照這片文章進行配置:Mac系統終端命令行不執行命令 總出現command not found解決方法
OK,php-fpm安裝完成。
要修改配置 php 或者 php-fpm 的話,可以修改 “/usr/local/etc/php/5.5/php.ini” 、 “/usr/local/etc/php/5.5/php-fpm.conf”。
詳細配置方法可以參照相關資料:
php-fpm 啟動參數及重要配置詳解
Linux平滑編譯升級php至5.5.0
啟動 php-fpm 的話就直接在終端里執行 “php-fpm”,默認打開 php-fpm 會顯示一個狀態 shell 出來,也可以把 php-fpm 的配置文件里的 “daemonize = no” 改為 “daemonize = yes”,就會以后臺守護進程的方式啟動,對于剛修改的配置文件,可以執行 “php-fpm -t” 來檢測配置有沒有問題。
4.3、開機啟動
開機啟動 php-fpm(下面的 5.5.3 是當前安裝 php 的具體版本號):

復制代碼 代碼如下:


mkdir -p ~/Library/LaunchAgents/

cp /usr/local/Cellar/php54/5.5.3/homebrew-php.josegonzalez.php55.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php55.plist


為了方便,寫了個啟動、關閉、重啟 php-fpm 的 shell 腳本:

復制代碼 代碼如下:


#!/bin/sh

param=$1

start()
{
    fpms=`ps aux | grep -i "php-fpm" | grep -v grep | awk '{print $2}'`
    if [ ! -n "$fpms" ]; then
        php-fpm
        echo "PHP-FPM Start"
    else
        echo "PHP-FPM Already Start"
    fi
}

stop()
{
    fpms=`ps aux | grep -i "php-fpm" | grep -v grep | awk '{print $2}'`
    echo $fpms | xargs kill -9

    for pid in $fpms; do
        if echo $pid | egrep -q '^[0-9]+$'; then
            echo "PHP-FPM Pid $pid Kill"
        else
            echo "$pid IS Not A PHP-FPM Pid"
        fi
    done
}

case $param in
    'start')
        start;;
    'stop')
        stop;;
    'restart')
        stop
        start;;
    *)
        echo "Usage: ./phpfpm.sh start|stop|restart";;
esac


五、設置 nginx 的 php-fpm 配置
在server塊中添加解析文件類型“index index.html index.htm index.php;”

復制代碼 代碼如下:


server {
        listen       80;
        server_name  localhost;
        index index.html index.htm index.php;
        ......
}


打開 nginx 默認注釋掉的php location設置,修改如下(具體配置參數,例如路徑,這里以我本地安裝為準):

復制代碼 代碼如下:


location ~ .*\.(php|php5)?$ {
        #fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  /Library/WebServer/public_html$fastcgi_script_name;
        include /usr/local/etc/nginx/fastcgi_params;
        #include fcgi.conf;
}


修改目錄用戶、用戶組:

復制代碼 代碼如下:


sudo chown www:www /Library/WebServer/public_html


OK,這樣就可以在訪問目錄下(默認是/Library/WebServer/public_html)執行 php 文件了。嗯,趕快輸出一下 “phpinfo()” 吧~

復制代碼 代碼如下:


<?php
phpinfo();

上述內容就是怎么在mac中安裝nginx和php,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴青县| 汉阴县| 靖安县| 灵丘县| 增城市| 新兴县| 神木县| 涪陵区| 团风县| 苏尼特右旗| 资阳市| 年辖:市辖区| 彰化市| 紫金县| 通山县| 玉门市| 获嘉县| 土默特左旗| 鄂温| 金溪县| 洛川县| 津市市| 南涧| 永吉县| 德清县| 龙门县| 奎屯市| 平定县| 晋江市| 建昌县| 沧州市| 东乌| 冷水江市| 石门县| 溧水县| 河间市| 西宁市| 长泰县| 湘西| 海林市| 尼木县|