Heim >Backend-Entwicklung >PHP-Tutorial >Stellen Sie eine PHP-Testumgebung auf einem Ubuntu-Computer bereit
1. Bereitstellungsumgebung
Ubuntu11.10_X86_32, kompilieren und installieren Sie die entsprechende Software: Nginx MySQL PHP.
2. Softwareinstallation
2.1 Software-Download
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 Umgebungskonfiguration
Wenn das System relativ sauber ist, müssen einige notwendige Softwaretools installiert werden
APT-GET-Installation von GCC G SSH Automake CMake Build-Wesential Autoconf RE2C WGE CRON BZIP2 RCCONF FLUCE VIM BISON M4 MAWK CPPUTILS Libncurses5 Unzip Tar libncurs5-dev libpcre libpcre 3 ev libpcre3 libpcrecpp0 libssl-dev zlibc openssl libxml2-dev libltdl3-dev libmcrypt-dev
2.3 Installation der Hilfssoftware
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14/
cd libiconv-1.14/
./configure --prefix=/usr/local
machen
make install
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
machen
make install
cd ../
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
machen
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
machen
make install
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
machen
make install
tar zxvf pcre-8.10.tar.gz
cd pcre-8.10
./configure
machen
make install
2.4 MySQL installieren
groupadd mysql #Mysql-Gruppe hinzufügen
useradd -g mysql mysql -s /bin/false #Benutzer mysql erstellen und zur MySQL-Gruppe hinzufügen. MySQL-Benutzer dürfen sich nicht direkt beim System anmelden
mkdir -p /data/mysql #MySQL-Datenbankspeicherverzeichnis erstellen
chown -R mysql:mysql /data/mysql #Legen Sie die Berechtigungen für das MySQL-Datenbankverzeichnis fest
tar zxvf mysql-5.5.19.tar.gz
cd mysql-5.5.19
mkdir -p /usr/local/mysql #MySQL-Installationsverzeichnis erstellen
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 SETS=alle -DDEFAULT_CHARSET= utf8 -DDEFAULT_COLLATION=utf8_general_ci -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306
machen
make install
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 #Kopieren Sie die Konfigurationsdatei (Hinweis: Im Verzeichnis /etc befindet sich standardmäßig eine my.cnf, überschreiben Sie sie einfach direkt)
vi /etc/my.cnf #Bearbeiten Sie die Konfigurationsdatei und fügen Sie
zum Abschnitt [mysqld] hinzudatadir = /data/mysql #MySQL-Datenbankpfad hinzufügen
./scripts/mysql_install_db --user=mysql #MySQL-Systemdatenbank generieren
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #Mysql zum Systemstart hinzufügen
chmod 755 /etc/init.d/mysqld #Ausführungsberechtigungen erhöhen
Start: 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
Passwort ändern/usr/local/mysql/bin/mysqladmin -u root -p Passwort „123456“
Fehler 1:
Lösung:
2.5 PHP installieren
apt-get install libfreetype6-dev libjpeg8-dev libpng12-dev slapd ldap-utils db5.1-util
apt-get install 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
Fehler 1: configure: Fehler: Bitte installieren Sie die libcurl-Distribution neu – easy.h sollte sich in /include/curl/ befinden
Lösung: apt-get install curl
apt-get install libcurl4-gnutls-dev
apt-get install php5-curl
Fehler 2: LDAP nicht gefunden
Lösung: Löschen Sie ----with-ldap
in den Konfigurationsinformationen
make ZEND_EXTRA_LIBS='-liconv'
Test durchführen
make install
cp php.ini-produktion /usr/local/php/etc/php.ini
Führen Sie den Befehl aus, um PHP-bezogene Konfigurationen anzuzeigen und den Erweiterungsverzeichniswert des PHP-Erweiterungsspeicherverzeichnisses abzurufen: /usr/local/php/bin/php-config
Die Informationen von extension_dir = werden hier angezeigt // http://www.pprar.com
vi /usr/local/php/etc/php.ini
Ändern: extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
Fastcgi-Konfigurationsdatei erstellen
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
Fastcgi-Konfigurationsdatei ändern
vi /usr/local/php/etc/php-fpm.conf
Kommentieren Sie die folgenden Zeilen aus
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = Notiz
pm.start_servers
pm.min_spare_servers
pm.max_spare_servers
Ändern Sie die folgenden zwei Zeilen der Datei. Wenn Sie fastcgi ohne Änderung starten, wird die Fehlermeldung „fastcgi [pool www] kann GID für die Gruppe ‚nobody‘ nicht abrufen“ gemeldet.
Benutzer = niemand
Gruppe = niemand
wurde in
geändertBenutzer = www
Gruppe = www
Fehler 1: „fastcgi [pool www] kann die GID für die Gruppe ‚www‘ nicht abrufen“
Lösung: Sie müssen Benutzer und Gruppen selbst erstellen
Sudo useradd www
Fastcgi starten
/usr/local/php/sbin/php-fpm
Fehler 2: FEHLER: Abhör-Socket für Adresse „127.0.0.1:9000“ konnte nicht gebunden werden: Adresse wird bereits verwendet (98)
FEHLER: FPM-Initialisierung fehlgeschlagen
Lösung: netstat -lntup |
Killall php-fpmFehler 3: Modul konnte nicht geladen werden: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring- pkcs11.so: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis
Lösung: 1) Getlibs installieren
Download: getlibs-all.deb
Ausführung: sudo dpkg -i --force-all getlibs-all.deb
sudo apt-get update getlibs aapt
2) Installieren Sie die 32-Bit-Bibliothek
getlibs -p gnome-keyring:i386
3) Symbolischen Link generieren
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 installieren
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
machen
make install
Starten Sie Nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Starten Sie den Dienst neu:/usr/local/nginx/sbin/nginx
Dienst beenden: killall nginx
3. Anwendungsbereitstellung
3.1 Umgebungsbereitstellung
vi /usr/local/nginx/conf/nginx.conf
Hinzufügen
Server {
listen 7070; #Externe Netzwerkzugriffs-Portnummer
Servername blue-desk.com.cn;
Standort / {
root /usr/local/src/wwwroot; #Anwendungsadresse
index index.html index.htmi index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
Standort ~ .php$ {
root /usr/local/src/wwwroot; #Anwendungsadresse
fastcgi_pass 10.128.7.101:9000; #Portnummer zur Kontaktaufnahme mit php-fpm ist in /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 Anwendungsstandortadresse
include fastcgi_params;
}
}
3.2 Konfigurationsanwendung
Onethink-Anwendungskonfiguration
Datenbankname: MySQL
Benutzername: root
Datenbankpasswort: 123456
Das Obige stellt die Bereitstellung der PHP-Testumgebung auf einem Ubuntu-Computer vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.