macOS 安裝 LNMP 環境

Zhengkx發表於2019-11-03

使用 brew 命令進行安裝

安裝 MySql

brew search mysql

搜尋一下,看看有什麼版本,大家可以根據自己的需要選擇版本,我這選擇 5.7

brew install mysql@5.7

靜靜等待安裝,安裝完成之後啟動服務

brew services start mysql

根據安裝完之後的資訊提示

We've installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

/usr/local/Cellar/mysql@5.7/5.7.28/bin 目錄下執行

./mysql_secure_installation

按照資訊提示一步一步完成。然後記得把 mysql 新增到環境變數中去

~/.zshrc 中新增

export PATH=$PATH:/usr/local/Cellar/mysql@5.7/5.7.28/bin

後面是自己 mysql 的安裝目錄

執行一下命令使其生效

source ~/.zshrc

因為我用的是 zsh,所以是在 .zshrc ,如果你是使用預設的 bash,那同樣在 ~/.bash_profile 新增環境變零,使其生效即可

安裝 Nginx

brew install nginx

等待安裝完成,編輯 /usr/local/etc/nginx/nginx.conf 配置檔案,將預設監聽的埠 8080 改成 80

http {
    ............

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;
    .......

啟動服務

brew services start nginx

訪問 http://localhost ,就可以看到 Nginx 的歡迎頁面了

安裝 PHP

同樣使用

brew search php

找你所需要的版本安裝

brew install php

這樣,它會直接安裝最新版本的 php。檢視 php 版本發現還是系統自帶的 7.1 版本,這個是因為還沒把我們安裝的最新版本加到環境變數中去。

### 使用自帶的 bash
echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.bash_profile

source ~/.bash_profile

### 使用 zsh
echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.zshrc

source ~/.zshrc

配置 PHP 和 Nginx

/usr/local/etc/nginx/servers 目錄下新增 default.conf

server {
        listen       80;
        server_name  default.me ;  ## 根據自己需要填寫
        root   "/usr/local/var/www/default"; ## 根據自己的目錄
        index index.html index.htm index.php;

        location / {
            #autoindex  on;
            try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php(.*)$  {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

再次檢查 /usr/local/etc/nginx 目錄下是否存在 fastcgi.confnginx.conf

如果沒有的話,複製預設的

cp nginx.conf.default nginx.conf
cp fastcgi.conf.default fastcgi.conf

重啟服務

_ php-fpm -d
nginx -s reload

就可以開心的玩耍了。

遇到的問題

訪問時,網頁一直顯示 502

[error] 38689#0: *6 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: blog.me, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "blog.me"

因為沒有啟動 php-fpm服務,啟動就行了。

不對之處,請多指教

相關文章