De nombreux étudiants ne sont peut-être pas familiers avec la configuration de l'environnement LAMP, et certains problèmes peuvent survenir lors de la configuration de l'environnement LAMP Aujourd'hui, je vais partager avec mes amis un article basé sur la configuration de l'environnement LAMP sous le serveur Alibaba Cloud sous CentOS 6.3. . Examinons de plus près les détails ci-dessous.
1. Configuration d'Apache
fichier d'édition vi /etc/httpd/conf/httpd.conf
Options Index FollowSymLinks
Modifié à la ligne 331 par : Options Comprend ExecCGI FollowSymLinks (permet au serveur d'exécuter CGI et SSI)
#AddHandler cgi-script .cgi
Modifié à la ligne 796 par : AddHandler cgi -script .cgi .pl (Autoriser l'exécution des scripts CGI avec l'extension .pl)
AllowOverride None
Modifié à la ligne 338 pour : AllowOverride All (Autoriser .htaccess)
AddDefaultCharset UTF-8
est modifié à la ligne 759 pour : AddDefaultCharset GB2312 (Ajouter GB2312 comme encodage par défaut)
Options Index MultiViews
Trouver cette ligne, supprimer "Index" et changez Pour cet état Options MultiViews (ne pas afficher l'arborescence des répertoires sur le navigateur)
DirectoryIndex index.html index.html.var
est modifié à la ligne 402 en : DirectoryIndex index. html index.htm Défaut.html Default.htm index.php Default.php index.html.var (Définissez le fichier de page d'accueil par défaut, ajoutez index.php)
KeepAlive Off
Changez la ligne 76 par : KeepAlive On (autorisez le programme Connexion sexuelle)
MaxKeepAliveRequests 100
est modifié à la ligne 83 en : MaxKeepAliveRequests 1000 (augmenter le nombre de connexions simultanées)
:wq #Enregistrer et quitter
/ etc/init.d/httpd restart
Remplacez DocumentRoot "/var/www/html" par votre répertoire "/data0/www/xxxxxxxxx" (ce répertoire est le disque de données monté)
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #Supprimer la page de test par défaut
Le fichier journal d'Apache
ErrorLog / etc/ httpd/logs/error_log (le journal des erreurs php est également affiché ici)
CustomLog /etc/httpd/logs/access_log combiné
Configuration PHP
vi /etc/php.ini #Edit
date.timezone = PRC #Supprimez le point-virgule précédent sur la ligne 946 et remplacez-le par date.timezone = PRC
magic_quotes_gpc = On #At 745 Ouvrez magic_quotes_gpc pour empêcher l'injection SQL (php5.4 ne prend pas en charge magic_quotes_gpc (prévention des flux SQL))
log_errors = On #Enregistrer le journal des erreurs
:wq #Enregistrez et quittez
/etc/init.d/httpd restart #Restart Apche, php
3. Montez le disque de données
Le disque dur du serveur Alibaba Cloud est composé de deux morceaux. L'un est le disque système et l'autre est le disque de données. Le disque de données n'est pas monté par défaut. Si vous souhaitez utiliser le disque de données, vous devez le monter manuellement vous-même.
Par la commande fdisk -l, vous pouvez voir que le nom du périphérique est /dev/xvdb.
De plus, le disque dur (/dev/xvdb) doit être partitionné et formaté avant le montage.
Utilisez la commande fdisk pour partitionner et la commande format est mkfs.ext3.
Comment fonctionner peut se référer au document officiel : disque de données de montage du système Linux.
Jusqu'à 4 disques de données peuvent être montés, et ils sont montés dans /data0. À l'avenir, d'autres disques de données pourront être montés dans /data1,/data2,/data3
Le rôle. des disques de données est fourni par la fonction « Réinitialiser » de la console du serveur Alibaba Cloud, vous pouvez choisir de réinitialiser le disque système ou le disque de données. Si le système d'exploitation est en panne, vous pouvez uniquement réinitialiser le disque système et conserver les données du site Web dans les données. disque.
4. Configurer la base de données MySQL
Définir le mot de passe initial, créer la base de données, créer une table, importer des données
Veuillez voir ici : sauvegarde et récupération MySQL, Accédez à distance au serveur MySql
, puis déplacez le fichier de données MySQL vers le "disque de données" pour éviter que les données ne soient perdues lorsque le système est en panne et que le système est refait.
Après avoir déplacé le fichier de données mysql, j'ai rencontré une erreur lors de la connexion en utilisant mysql -u username -p : ERREUR 2002 (HY000) : Impossible connectez-vous au serveur MySQL local via socket '/var/lib/mysql/mysql.sock' (2)
La raison principale est qu'il y a quelques étapes lors de la modification du fichier my.cnf qui sont différentes de celles ci-dessus, je vais les expliquer ici. . La méthode de fonctionnement est la suivante :
Arrêtez le processus mysql
Déplacez l'intégralité du répertoire /var/lib/mysql vers /data0/db
mv /var/lib/mysql /home/data/
Cela déplacera le fichier de données MySQL vers /data0/db/mysql
Modifiez le fichier de configuration my.cnf
N'utilisez pas directement le fichier de configuration /etc/my.cnf Veuillez trouver le fichier *.cnf sous /usr/. share/mysql/. Copiez l'un d'eux (my-medium.cnf) dans /etc/ et renommez-le en my.cnf). La commande est la suivante :
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
Modifier le fichier de configuration MySQL/etc/my.cnf
Pour garantir que MySQL peut fonctionner normalement, vous devez spécifier l'emplacement où le fichier mysql.sock est généré.
# Les options suivantes seront transmises à tous les clients MySQL
[client]
#password = your_password
port = 3306
#socket = /var/lib/mysql/mysql.sock # Annoté
socket=/data0/db/mysql/mysql.sock #Contenu nouvellement ajouté
# Voici les entrées pour certains programmes spécifiques
# Le serveur MySQL
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock #Commented
datadir=/data0/db/mysql #Contenu nouvellement ajouté
socket=/data0/db/ mysql/mysql. sock #Contenu nouvellement ajouté
Script de démarrage MySQL/etc/rc.d/init.d/mysqld Pas besoin d'apporter de modifications
Redémarrez le service MySQL
/etc/rc.d/init.d/mysqld start
Si le travail est déplacé normalement, il réussira, sinon reportez-vous à la vérification précédente à nouveau à l'étape 7.
Après avoir déplacé MySql, PHP ne peut pas se connecter à la base de données MySql
Après les opérations ci-dessus, après avoir déplacé les fichiers de données MySql vers d'autres répertoires, PHP ne peut pas se connecter à la base de données MySql. Oui Parce que mysql. Le fichier .sock est introuvable.
Solution 1 :
Créer un lien symbolique
cd /var/lib mkdir mysql ln -s /data0/db/mysql/mysql.sock /var/lib/mysql/mysql.sock
Solution 2 :
Modifier le fichier /etc/php.ini
Recherchez la ligne mysql.default_socket = . Cette valeur est vide au début, PHP utilisera la valeur par défaut construite dans mysql.
modifier le contenu suivant :
mysql.default_socket = /data0/db/mysql/mysql.sock
Veuillez renseigner l'emplacement du fichier mysql.sock en fonction de votre situation réelle.
Il y a aussi mysqli.default_socket =. Cela dépend de la situation si vous souhaitez le modifier ou non. Il n'a pas été modifié ici
Articles connexes recommandés :
Configuration de l'environnement LAMP (Apache+PHP+MySql) sous Linux
Cours recommandés :
Cinq recommandés derniers tutoriels vidéo Laravel en 2017
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!