>백엔드 개발 >PHP 튜토리얼 >우분투 머신에 PHP 테스트 환경 배포

우분투 머신에 PHP 테스트 환경 배포

WBOY
WBOY원래의
2016-08-08 09:30:531049검색

우분투 머신에 PHP 테스트 환경 배포

1. 배포 환경

Ubuntu11.10_X86_32, 해당 소프트웨어 nginx+mysql+php를 컴파일하고 설치합니다.

2. 소프트웨어 설치

2.1 소프트웨어 다운로드

libiconv-1.14.tar.gz

libmcrypt-2.5.7.tar.gz

mcrypt-2.6.8.gz

mhash-0.9.9.9.tar.gz

mysql-5.5.39.tar.gz

nginx-1.1.10.tar.gz

pcre-8.20.tar.gz

php-5.4.34.tar.gz

2.2 환경설정

시스템이 비교적 깨끗한 경우 일부 필수 소프트웨어 도구를 설치해야 합니다

apt-get install gcc g++ ssh automake cmake 빌드 필수 autoconf make re2c wget cron bzip2 rcconf flex vim bison m4 mawk cpp binutils libncurses5 unzip tar libncurses5 libncurses5-dev libtool libpcre3 libpcrecpp0 libssl-dev zlibc openssl libxml2-dev liblt dl3- dev libpcre3 libpcrecpp0 libssl-dev zlibc openssl libxml2-dev libltdl3-dev libmcrypt-dev

2.3 보조 소프트웨어 설치

2.3.1 libiconv-1.14.tar.gz

tar zxvf libiconv-1.14.tar.gz

cd libiconv-1.14/

cd libiconv-1.14/

./configure --prefix=/usr/local

만들다

설치하기

2.3.2 mhash-0.9.9.9.tar.gz

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

./구성

만들다

설치하기

CD ../

2.3.3 libmcrypt-2.5.8.tar.gz

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8/

./구성

만들다

설치하기

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

만들다

설치하기

2.3.4 mcrypt-2.6.8.tar.gz

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

./구성

만들다

설치하기

2.3.5pcre-8.10.tar.gz

tar zxvf pcre-8.10.tar.gz

cd pcre-8.10

./구성

만들다

설치하기

2.4 mysql 설치

groupadd mysql #mysql 그룹 추가

useradd -g mysql mysql -s /bin/false # mysql 사용자를 생성하여 mysql 그룹에 추가합니다. Mysql 사용자는 시스템에 직접 로그인할 수 없습니다.

mkdir -p /data/mysql #MySQL 데이터베이스 저장 디렉터리 생성

chown -R mysql:mysql /data/mysql #MySQL 데이터베이스 디렉터리 권한 설정

tar zxvf mysql-5.5.19.tar.gz

cd mysql-5.5.19

mkdir -p /usr/local/mysql #MySQL 설치 디렉터리 생성

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8-unicode_ci -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CH ARSETS=all -DDEFAU LT_CHARSET= utf8 -DDEFAULT_COLLATION=utf8_general_ci -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306

만들다

설치하기

cp support-files/my-small.cnf /etc/my.cnf

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

/usr/local/mysql/scripts/mysql_install_db --user=mysql

cd /usr/local/mysql

cp ./support-files/my-huge.cnf /etc/my.cnf #구성 파일 복사(참고: 기본적으로 /etc 디렉터리 아래에 my.cnf가 있으므로 직접 덮어쓰시면 됩니다.)

vi /etc/my.cnf # 구성 파일을 편집하고 [mysqld] 섹션에

을 추가합니다.

datadir = /data/mysql #MySQL 데이터베이스 경로 추가

./scripts/mysql_install_db --user=mysql #mysql 시스템 데이터베이스 생성

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #시스템 시작에 Mysql 추가

chmod 755 /etc/init.d/mysqld #실행 권한 증가

시작: bin/mysqld_safe -user=mysql &

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

비밀번호 변경/usr/local/mysql/bin/mysqladmin -u root -p 비밀번호 "123456"

오류 1:

해결책:

2.5 PHP 설치

apt-get 설치 libfreetype6-dev libjpeg8-dev libpng12-dev slapd ldap-utils db5.1-util

apt-get 설치 libldap2-dev libsasl2-dev

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with- mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem - -enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with- xmlrpc --enable-zip --enable-soap --disable-maintainer-zts

오류 1: 구성: 오류: libcurl 배포판을 다시 설치하십시오. easy.h는 /include/curl/에 있어야 합니다.

해결책: apt-get install 컬

apt-get install libcurl4-gnutls-dev

apt-get 설치 php5-curl

오류 2: LDAP를 찾을 수 없음

해결 방법: 구성 정보에서 ----with-ldap

을 삭제하세요.

ZEND_EXTRA_LIBS='-liconv'로 설정

테스트하기

설치하기

cp php.ini-생산 /usr/local/php/etc/php.ini

명령을 실행하여 PHP 관련 구성을 보고 PHP 확장 저장소 디렉터리의 확장 디렉터리 값을 가져옵니다: /usr/local/php/bin/php-config

extension_dir = 정보는 여기에 표시됩니다. //http://www.pprar.com

vi /usr/local/php/etc/php.ini

수정: Extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"

fastcgi 구성 파일 생성

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

fastcgi 구성 파일 수정

vi /usr/local/php/etc/php-fpm.conf

다음 줄의 주석 처리를 해제하세요

pid = run/php-fpm.pid

error_log = 로그/php-fpm.log

log_level = 공지

pm.start_servers

pm.min_spare_servers

pm.max_spare_servers

파일의 다음 두 줄을 수정하세요. 수정하지 않고 fastcgi를 시작하면 "fastcgi [pool www] can get gid for group 'nobody'"라는 오류가 보고됩니다.

사용자 = 없음

그룹 = 아무도

으로 변경되었습니다.

사용자 = www

그룹=www

오류 1: "fastcgi [pool www]는 'www' 그룹에 대한 gid를 얻을 수 없습니다."

해결책: 사용자와 그룹을 직접 만들어야 합니다

Sudo 사용자 추가 www

fastcgi 시작

/usr/local/php/sbin/php-fpm

오류 2: 오류: 주소 '127.0.0.1:9000'에 대한 청취 소켓을 바인딩할 수 없습니다: 주소가 이미 사용 중입니다(98)

오류: FPM 초기화 실패

해결책: netstat -lntup grep 9000

킬올 php-fpm

오류 3: 모듈을 로드할 수 없습니다: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring- pkcs11.so: 공유 개체 파일을 열 수 없습니다. 해당 파일이나 디렉터리가 없습니다

해결책: 1) getlibs 설치

다운로드: getlibs-all.deb

실행: sudo dpkg -i --force-all getlibs-all.deb

sudo apt-get 업데이트 getlibs aapt

2) 32비트 라이브러리 설치

getlibs -p gnome-keyring:i386

3) 심볼릭 링크 생성

sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so

2.6 Nginx 설치

tar zxvf nginx-1.1.10.tar.gz

cd nginx-1.1.10/

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module

만들다

설치하기

Nginx 시작

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

서비스 다시 시작:/usr/local/nginx/sbin/nginx

서비스 중지: killall nginx

3. 애플리케이션 배포

3.1 환경 배포

vi /usr/local/nginx/conf/nginx.conf

추가

서버 {

#외부 네트워크 접속 포트 번호

듣기

서버 이름 blue-desk.com.cn;

위치 / {

루트 /usr/local/src/wwwroot #애플리케이션 주소

인덱스 index.html index.htmi index.php;

}

error_page 500 502 503 504 /50x.html;

위치 = /50x.html {

루트 html;

}

위치 ~ .php$ {

루트 /usr/local/src/wwwroot #애플리케이션 주소

fastcgi_pass 10.128.7.101:9000; #php-fpm에 접속하기 위한 포트 번호, php-fpm은 /usr/local/php/etc/php-fpm.conf에 구성되어 있습니다

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/src/wwwroot$fastcgi_script_name #/usr/local/src/wwwroot 애플리케이션 위치 주소

fastcgi_params를 포함합니다.

}

}

3.2 구성 적용

onethink 애플리케이션 구성

데이터베이스 이름: mysql

사용자 이름: 루트

데이터베이스 비밀번호: 123456

위 내용은 관련 내용을 포함하여 Ubuntu 머신에 PHP 테스트 환경을 배포하는 방법을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 출력 시간 차이다음 기사:PHP 출력 시간 차이