mac 아래 수 동 설치 및 설정 tengine 2.2 + php 7
최근 에 로 컬 프로그램 을 쓰 려 고 합 니 다. 아니면 항상 commt 코드 를 쓰 려 고 합 니 다. 효율 이 낮 습 니 다. 기본 설치 가 싫 으 면 직접 수 동 으로 설치 하 세 요.
설명 하 다.
#vim ~/.bashrc //
#export HOMEBREW_BOTTLE_DOMAIN=http://7xkcej.dl1.z0.glb.clouddn.com
원본 코드 다운로드
tengine
설치 하 다.
#cd /data/install/tengine-2.2.0/
#./configure --prefix=/data/server/nginx --sbin-path=/data/server/nginx/sbin/nginx --conf-path=/data/server/nginx/conf/nginx.conf --error-log-path=/data/server/nginx/log/error.log --http-log-path=/data/server/nginx/log/access.log --pid-path=/data/server/nginx/nginx.pid --lock-path=/data/server/nginx/lock/nginx.lock --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --with-http_addition_module --with-http_random_index_module --with-http_dav_module --with-openssl=/data/server/src/openssl-1.0.2l --with-pcre=/data/server/src/pcre-8.38 --with-zlib=/data/server/src/zlib-1.2.11
#vim objs/Makefile
# , -Werror
# openssl, ./config --prefix=/data/server/src/openssl-1.0.2l/.openssl no-shared
:./Configure darwin64-x86_64-cc --prefix=/data/server/src/openssl-1.0.2l/.openssl no-shared
#make test
#make
#make install
#/data/server/nginx/sbin/nginx -m
배치 하 다.
https
인증서 설치
#mkdir /data/server/nginx/ssl
#cd /data/server/nginx/ssl
/** **/
#/usr/local/openssl/bin/openssl genrsa -des3 -out server.key 1024
#/usr/local/openssl/bin/openssl req -new -key server.key -out server.csr
#/usr/local/openssl/bin/openssl rsa -in server.key -out server_nopwd.key
#/usr/local/openssl/bin/openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt
설정 nginx
/** 80 **/
#vim vhost_default.conf
#vim vhost_default.conf // 1
#vim vhost_localhost_ssl.conf // 1
#nginx -t && nginx -s reload
mysql
brew 방식
다른 방식 은 그의 어머니 가 너무 많아 서 데이터 디 렉 터 리 는 반드시 자신의 비 시스템 환경 에 두 어야 한다. 그렇지 않 으 면 잃 어 버 리 면 번 거 로 울 것 이다.
#brew install mysql
#unset TMPDIR
#mysql_install_db --verbose --user='_mysql' --basedir="$(brew --prefix mysql)" --datadir=/data/server/mysql/data/
#mysql.server start
PHP7
openssl 설치
#brew upgrade openssl
#ls -l /usr/local/openssl/ //
컴 파일 확장
libcurl libiconv zlib
#wget https://curl.haxx.se/download/curl-7.54.1.tar.gz
#wget http://zlib.net/zlib-1.2.11.tar.gz
#wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
#tar zxvf curl-7.54.1.tar.gz
# tar zxvf zlib-1.2.11.tar.gz
# tar zxvf libiconv-1.8.tar.gz
# configure --prefix=/data/server/libs/*
# make && make install
//
컴 파일 php
#./configure --prefix=/data/server/php/ --with-config-file-path=/data/server/php/etc/ --enable-mysqlnd --with-mysqli=/usr/local/Cellar/mysql/5.7.18_1/bin/mysql_config --with-pdo-mysql=/usr/local/Cellar/mysql/5.7.18_1/ --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --enable-calendar --enable-opcache --with-openssl=/usr/local/openssl/ --with-zlib=/usr/local/opt/zlib/ --with-curl=/usr/local/opt/curl/ --with-iconv=/usr/local/opt/libiconv/
#vim Makefile
#make && make install
#data/server/php/bin/php -v //
아래 가 매우 중요 합 니 다. 그렇지 않 으 면 macx 10 + 가 설치 되 지 않 습 니 다. ld 명령 이 없 기 때문에 configure 후 Makefile 파일 을 편집 해 야 합 니 다. 완전 하지 않 으 면 오류 에 따라 교체 할 수 있 지만 방식 은 같 습 니 다.
#vim Makefile
# 112 EXTRA_LIBS,
EXTRA_LIBS = -lz -lresolv -lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lcrypto -lm -lxml2 -lz -licucore -lm -lcurl -lldap -lz -lxml2 -lz -licucore -lm -lfreetype -lmysqlclient -lmysqlclient -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm /usr/local/openssl/lib/libssl.dylib /usr/local/openssl/lib/libcrypto.dylib /usr/local/Cellar/libiconv/1.15/lib/libiconv.dylib
예 를 들 어 lssl 이 들 어 있 으 면 모든 것 을 삭제 하고 / usr / local / openssl / lib / libssl. dylib 로 대체 합 니 다.
설치 확장
/**imagick**/
#wget http://pecl.php.net/get/imagick-3.4.3.tgz
#tar zxvf imagick-3.4.3.tgz
#/data/server/php/bin/phpize
#brew install imagemagick
#./configure --with-php-config=/data/server/php/bin/php-config --with-imagick=/usr/local/opt/imagemagick/
#make && make install
/**memcached**/
#brew install libmemcached
#cd memcached-1.5.0
#/data/server/php/bin/phpize
#./configure --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/ --with-php-config=/data/server/php/bin/php-config --with-libmemcached-dir=/usr/local/opt/libmemcached/
#make && make install
/**mongodb**/
#git clone https://github.com/mongodb/mongo-php-driver.git
#cd /mongo-php-driver/
#git submodule update --init
#/data/server/php/bin/phpize
#./configure --with-php-config=/data/server/php/bin/php-config --with-openssl-dir=/usr/local/opt/openssl/
#make & make install
시작 스 크 립 트
#vim /data/server/php/etc/php-fpm.conf
/** global pid**/
#pid = run/php-fpm.pid
/** **/
#vim /data/server/php/start.sh
부록 1 nginx conf
/**default.conf**/
server {
listen 80 default_server;
#listen [::]:80 default_server;
server_name _;
# Discourage deep links by using a permanent redirect to home page of HTTPS site
return 301 https://$host;
# Alternatively, redirect all HTTP links to the matching HTTPS page
# return 301 https://$host$request_uri;
}
/**local demo conf**/
server {
listen 443 ssl;
server_name localhost 127.0.0.1;
//HSTL ,
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
ssl_certificate /data/server/nginx/ssl/server.crt;
ssl_certificate_key /data/server/nginx/ssl/server_nopwd.key;
index index.html index.htm index.php;
root /data/www/localhost/web/;
location / {
if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?s=/$1 last;
}
}
location ~ \.php$ {
index index.php;
fastcgi_pass fastcgi_backend;
fastcgi_param SCRIPT_FILENAME;
$document_root$fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}
}
부록 2 php - fpm start. sh
/**start.sh**/
DESC="php-fpm daemon"
NAME=php-fpm
# php-fpm
DAEMON=/data/server/php/sbin/$NAME
#
CONFIGFILE=/data/server/php/etc/$NAME.conf
# PID ( php-fpm.conf )
PIDFILE=/data/server/php/var/run/$NAME.pid
SCRIPTNAME=/data/server/php/start.sh
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
rh_start() {
$DAEMON -y $CONFIGFILE || echo -n " already running"
}
rh_stop() {
kill -QUIT `cat $PIDFILE` || echo -n " not running"
}
rh_reload() {
kill -HUP `cat $PIDFILE` || echo -n " can't reload"
}
case "$1" in
start)
echo "Starting $DESC: $NAME"
rh_start
#echo "
"
;;
stop)
echo "Stopping $DESC: $NAME"
rh_stop
#echo "
"
;;
reload)
echo "Reloading $DESC configuration..."
rh_reload
echo "reloaded."
;;
restart)
echo "Restarting $DESC: $NAME"
rh_stop
sleep 1
rh_start
#echo "
"
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
exit 3
;;
esac
exit 0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.