Maison  >  Article  >  cadre php  >  Configuration de l'environnement Lamp : configuration de l'environnement LAMP sous le serveur Alibaba Cloud sous CentOS 6.3

Configuration de l'environnement Lamp : configuration de l'environnement LAMP sous le serveur Alibaba Cloud sous CentOS 6.3

不言
不言original
2018-07-28 17:18:422511parcourir

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 :

Sous Alibaba Cloud Server Installation et déploiement rapide de l'environnement LAMP - Basé sur CentOS 6.3

Configuration de l'environnement LAMP (Apache+PHP+MySql) sous Linux

Configuration de l'environnement laravel : étapes pour déployer laravel sur Alibaba Cloud ou Tencent Cloud

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn