PHP&Nginx&Mysql on Mac

396 查看

Install Port

https://guide.macports.org/

Path

You can also add the following line to your ~/.bash_profile:

export PATH=/opt/local/bin:$PATH // use the port command first , don't use system command

then

source ~/.bash_profile

This will add /opt/local/bin to the executable path and make your port command available to the shell.

port version

Version 2.3.3

PS:

If you are use in zsh , just edit ~/.zshrc like these

Install PHP

sudo port install php56 php56-fpm php56-mysql

PHP Configuration file setup

Set up your PHP configuration files. For development purposes use:

$ cd /opt/local/etc/php56
$ sudo cp php.ini-development php.ini

or for a production server:

$ cd /opt/local/etc/php56
$ sudo cp php.ini-production php.ini

php-fpm do the same thing

Select PHP version

$ sudo port select php php56

$ php -v

Nginx

$ sudo port install nginx

cd /opt/local/etc/nginx , edit nginx.conf :

  server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /Users/Lluvio/www;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /Users/Lluvio/www;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        
        location ~ \.php$ {
            root           /Users/Lluvio/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /Users/Lluvio/www$fastcgi_script_name;
            include        fastcgi_params;
           }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

Then

$ sudo port load nginx

Now , we can open url http://localhost to see the welcome page~

Mysql

$ sudo port load mysql56-server
$ sudo port select mysql mysql56
$ sudo -u _mysql /opt/local/lib/mysql56/bin/mysql_install_db  // init mysql
$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.25 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

If you have another problem , click here

Doc: https://trac.macports.org/wiki/howto/MySQL

End

In the end , we could do port installed to see what we are installed,may something we will be lost