Tutoriel sur l'installation de l'environnement LNMP sur Mac

小云云
Libérer: 2023-03-20 13:44:02
original
2334 Les gens l'ont consulté

Récemment, l'environnement de travail a été basculé sur Mac, donc en prenant le système d'exploitation, installez xcode, puis utilisez une commande sur une seule ligne pour installer l'outil de gestion des dépendances Homebrew

Ensuite, vous. peut utiliser

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Copier après la connexion

pour installer les dépendances requises.

brew install FORMULA
Copier après la connexion
Le nom de Brew (qui signifie brassage) est très intéressant. Tous les matériaux/instruments utilisés dans le processus de brassage sont utilisés. Les noms correspondent aux concepts suivants :

. Définition du package Formula ( Recipe), essentiellement un fichier rb
  • Chemin d'installation Keg (baril) du package
  • Cellar (cave) tous les répertoire racine du package (seau)
  • Source du package Tap (robinet)
  • Bottle (bouteille) package compilé et empaqueté
  • Le programme final compilé et installé est un tonneau de vin brassé
Pour des informations plus détaillées, veuillez vous référer au livre de recettes officiel de Homebrew

Il est donc courant d'utiliser Homebrew Le processus est le suivant :

Ajouter une source de programme (ajouter un nouveau robinet)
  1. brew tap homebrew/php

    Mettre à jour la source du programme
  2. brew update

    Installer le package du programme (faire du vin selon la recette)
  3. brew install git

    Voir la configuration
  4. Vous pouvez voir que le package du programme est installé sous
  5. par défaut ( Le tonneau de vin est placé dans la cave)

    brew config/usr/local/Cellar

Installer PHP5.6 (méthode FPM)

Rejoignez d'abord le Homebrew officiel Plusieurs sources de logiciels

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php
Copier après la connexion

PHP如果采用默认配置安装,会编译mod_php模块并只运行在Apache环境下,为了使用Nginx,这里需要编译php-fpm并且禁用apache,主要通过参数--without-fpm --without-apache来实现。完整的安装指令为

brew install php56 \--without-snmp \--without-apache \--with-debug \--with-fpm \--with-intl \--with-homebrew-curl \--with-homebrew-libxslt \--with-homebrew-openssl \--with-imap \--with-mysql \--with-tidy
Copier après la connexion

由于OSX已经自带了PHP环境,因此需要修改系统路径,优先运行brew安装的版本,在~/.bashrc里加入:

export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
Copier après la connexion

如果要安装新的php扩展,可以直接安装而不用每次重新编译php,所有的扩展可以通过

brew search php56
Copier après la connexion

看到,下面是我自己所需要的扩展,可以支持Phalcon框架:

brew install php56-gearman php56-msgpack php56-memcache php56-memcached php56-mongo  php56-phalcon php56-redis php56-xdebug
Copier après la connexion

PHP-FPM的加载与启动

安装完毕后可以通过以下指令启动和停止php-fpm

php-fpm -D
killall php-fpm
Copier après la connexion

同时可以将php-fpm加入开机启动

ln -sfv /usr/local/opt/php56/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
Copier après la connexion

安装Nginx

brew install nginx
Copier après la connexion

安装完毕后可以通过

nginx
nginx -s quit
Copier après la connexion

启动和关闭,同时也支持重载配置文件等操作

nginx -s reload|reopen|stop|quit
Copier après la connexion

nginx安装后默认监听8080端口,可以访问http://localhost:8080查看状态。如果要想监听80端口需要root权限,运行

sudo chown root:wheel /usr/local/Cellar/nginx/1.6.2/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.2/bin/nginx
Copier après la connexion

并使用root权限启动

sudo nginx
Copier après la connexion

开机启动

ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
Copier après la connexion

Nginx + PHP-FPM配置

Nginx一般都会运行多个域名,因此这里参考了@fish的方法,按Ubuntu的文件夹结构来存放Nginx的配置文件

mkdir -p /usr/local/var/logs/nginx
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/ssl
Copier après la connexion

编辑Nginx全局配置

vim /usr/local/etc/nginx/nginx.conf
Copier après la connexion
worker_processes  1;
error_log   /usr/local/var/logs/nginx/error.log debug;
pid        /usr/local/var/run/nginx.pid;

events {
    worker_connections  256;
}


http {    include       mime.types;
    default_type  application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] '
        '"$request" $status $body_bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$http_x_forwarded_for" $host $request_time $upstream_response_time $scheme '
        '$cookie_evalogin';

    access_log  /usr/local/var/logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;
    port_in_redirect off;    include /usr/local/etc/nginx/sites-enabled/*;
}
Copier après la connexion

这样一来首先可以把一些可复用配置独立出来放在/usr/local/etc/nginx/conf.d下,比如fastcgi的设置就可以独立出来

vim /usr/local/etc/nginx/conf.d/php-fpm
Copier après la connexion

内容为

location ~ \.php$ {
    try_files                   $uri = 404;
    fastcgi_pass                127.0.0.1:9000;
    fastcgi_index               index.php;
    fastcgi_intercept_errors    on;    include /usr/local/etc/nginx/fastcgi.conf;
}
Copier après la connexion

然后/usr/local/etc/nginx/sites-enabled目录下可以一个文件对应一个域名的配置,比如web服务器目录是/opt/htdocs

vim /usr/local/etc/nginx/sites-enabled/default
Copier après la connexion
server {
    listen       80;
    server_name  localhost;
    root         /opt/htdocs/;

    location / {
        index  index.html index.htm index.php;        include     /usr/local/etc/nginx/conf.d/php-fpm;
    }
}
Copier après la connexion

此时启动了php-fpm并且启动了Nginx后,就可以通过http://localhost来运行php程序了

安装MySQL

brew install mysql
Copier après la connexion

可以通过

mysql.server startmysql.server stop
Copier après la connexion

来启动/停止,启动后默认应为空密码,可以通过mysqladmin设置一个密码

mysqladmin -uroot password "mypassword"
Copier après la connexion

但是在操作的时候出现了空密码无法登入的情况,最终只能通过mysqld_safe来设置

sudo mysqld_safe --skip-grant-tables
mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('mypassword') WHERE User='root';mysql> FLUSH PRIVILEGES;
Copier après la connexion

最后将MySQL加入开机启动

cp /usr/local/Cellar/mysql/5.6.22/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
Copier après la connexion

Memcache

brew install memcached
Copier après la connexion

启动/停止指令

memcached -d
killall memcached
Copier après la connexion

加入开机启动

cp /usr/local/Cellar/memcached/1.4.20/homebrew.mxcl.memcached.plist ~/Library/LaunchAgents/
Copier après la connexion

Redis

brew install redis
Copier après la connexion

Redis默认配置文件不允许以Deamon方式运行,因此需要先修改配置文件

vim /usr/local/etc/redis.conf
Copier après la connexion

将daemonize修改为yes,然后载入配置文件即可实现后台进程启动

redis-server /usr/local/etc/redis.conf
Copier après la connexion

加入开机启动

cp /usr/local/Cellar/redis/2.8.19/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
Copier après la connexion

设置别名

最后可以对所有服务的启动停止设置别名方便操作

vim ~/.bash_profile
Copier après la connexion

加入

alias nginx.start='launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist'alias nginx.stop='launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist'alias nginx.restart='nginx.stop && nginx.start'alias php-fpm.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist"alias php-fpm.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist"alias php-fpm.restart='php-fpm.stop && php-fpm.start'alias mysql.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist"alias mysql.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist"alias mysql.restart='mysql.stop && mysql.start'alias redis.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist"alias redis.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist"alias redis.restart='redis.stop && redis.start'alias memcached.start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist"alias memcached.stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist"alias memcached.restart='memcached.stop && memcached.start'
Copier après la connexion

安装其他项目支持

brew install composer node
Copier après la connexion

安装Oh My Zsh

brew install zsh-completions
chsh -s /usr/local/bin/zsh
vim ~/.zshenv
Copier après la connexion

加入内容

export PATH=/usr/local/bin:$PATH
Copier après la connexion

然后

vim ~/.zshrc
Copier après la connexion

加入内容

fpath=(/usr/local/share/zsh-completions $fpath)
autoload -Uz compinit
compinit -u
Copier après la connexion

最后运行

rm -f ~/.zcompdump; compinit
Copier après la connexion

查看正在使用的shell

dscl localhost -read Local/Default/Users/$USER UserShell
Copier après la connexion

安装Oh My Zsh

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
Copier après la connexion

相关推荐:

LNMP编译安装PHP以及LNMP配置和验证实例分享

两种lnmp重置mysql数据库root密码的方法

LNMP环境更换Nginx服务器为Tengine的示例代码

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!