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 보조 소프트웨어 설치
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14/
cd libiconv-1.14/
./configure --prefix=/usr/local
만들다
설치하기
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./구성
만들다
설치하기
CD ../
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./구성
만들다
설치하기
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
만들다
설치하기
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./구성
만들다
설치하기
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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.