Maison >base de données >tutoriel mysql >Comment compiler et installer Nginx1.10.3+MySQL5.7.16+PHP7.1.2 sur CentOS
Préparation
1. Configuration du pare-feu
centos 7.x utilise par défaut En tant que pare-feu, le pare-feu est remplacé par le pare-feu iptables ici.
1. Fermez le pare-feu :
systemctl stop firewalld.service #stopfirewall
systemctl désactiver firewalld.service #interdire au pare-feu de démarrer au démarrage# 🎜🎜 #
2. Installer le pare-feu iptablesyum installer iptables-services #Installervi /etc/sysconfig/iptables #Modifier le fichier de configuration du pare-feu#🎜🎜 ## 🎜🎜## exemple de configuration pour le service iptables# vous pouvez le modifier manuellement ou utiliser system-config-firewall# veuillez ne pas nous demander d'ajouter des ports supplémentaires /services à cette configuration par défaut*filter:input accept [0:0]:forward accept [0:0]#🎜 🎜#:sortie acceptée [0:0]
-a entrée -m état --état lié, établi -j accepter
-a entrée -p icmp - j accept
-a input -i lo -j accept
-a input -p tcp -m state --state new -m tcp --dport 22 - j accepte
-a input -p tcp -m state --state new -m tcp --dport 80 -j accept
-a input -p tcp -m state -- state new -m tcp --dport 3306 -j accept
-a input -j rejet --reject-with icmp-host-prohibited
-a forward - j rejette --reject-with icmp-host-prohibited
commit
:wq #Enregistrez et quittez
systemctl restart iptables.service # Enfin, redémarrez le pare-feu. Faites prendre effet à la configuration
systemctl activate iptables.service #Définissez le pare-feu pour qu'il démarre au démarrage
/usr/libexec/iptables/iptables.init restart # Redémarrez le pare-feu
#🎜🎜 #2. Désactivez selinux
vi /etc/selinux/config#selinux= application de #Commenter #🎜🎜 ##selinuxtype=targeted #Commenter
selinux=disabled #Ajouter
:wq #Enregistrer et quitter #🎜🎜 #
setenforce 0 #Rendre la configuration effective immédiatement3 Accord système
Emplacement de stockage du package de code source du logiciel :/usr /local/srcCode source Emplacement de compilation et d'installation du package : /usr/local/Nom du logiciel4. Téléchargez le package logiciel
# 🎜🎜#1. Téléchargez nginx
# 🎜🎜#http://nginx.org/download/nginx-1.10.3.tar.gz2.https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.16.tar.gz
3. 🎜🎜#http://cn2.php.net/distributions/php -7.1.2.tar.gz4 Téléchargez cmake (outil de compilation mysql) https. ://cmake.org/files/v3.7/cmake-3.7 .2.tar.gz5. Téléchargez pcre (prend en charge le pseudo-statique nginx)ftp ://ftp.csx.cam.ac.uk/pub/software/programmation/pcre/pcre-8.40.tar.gz6. Téléchargez openssl (extension nginx)#🎜 🎜#https://www.openssl.org/source/openssl-1.1 .0e.tar.gz
7 Téléchargez zlib (extension nginx)
http:/ /www.zlib.net/zlib-1.2.11.tar.gz# 🎜🎜#
8. Téléchargez libmcrypt (extension php)https://nchc.dl.sourceforge. net/project/mcrypt/libmcrypt/2.5.8/libmcrypt-2.5.8 .tar.gz9. Téléchargez yasm (extension php)http://www. .tortall.net/projects/yasm/releases/yasm-1.3.0. tar.gz10, t1lib (extension php)http://download.freenas .org/distfiles/t1lib-5.1.2.tar.gz#🎜🎜 #11 Téléchargez le package d'installation de la bibliothèque gd
https://github.com/libgd/libgd/ releases/download/gd-2.1.1/libgd-2.1.1.tar.gz
12, libvpx (obligatoire pour la bibliothèque gd)
https://codeload. github.com/webmproject/libvpx/tar.gz/v1.3.0
13, tiff (obligatoire par la bibliothèque gd)
http://download.osgeo.org/ libtiff/tiff-4.0.7.tar.gz
14 , libpng (obligatoire pour la bibliothèque gd)
ftp://ftp.simplesystems.org/pub/libpng/ png/src/libpng16/libpng-1.6.28.tar.gz
#🎜 🎜#15, freetype (requis par la bibliothèque gd)http://download.savannah.gnu. org/releases/freetype/freetype-2.7.1.tar.gz#🎜🎜 #16, jpegsrc (bibliothèque gd requise)
http://www.ijg.org/files /jpegsrc.v9b.tar.gz
17, boost (compiler mysql requis)
https://ufpr.dl.sourceforge.net/project/boost/boost/ 1.59.0/boost_1_59_0.tar.gz
Le package logiciel ci-dessus est téléchargé dans le répertoire /usr/local/src
5. Installez les outils de compilation et la bibliothèque. fichiers (utilisez la commande yum pour installer)yum install -y apr * autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel noyau glibc en-têtes de noyau keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libxpm* libxml* libxaw-devel libxmu-devel libtiff libtiff* make mpfr ncurses* ntp ouvre sl openssl-devel patch pcre-devel perl php-common php-gd Policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel
Article d'installationCe qui suit Utilisez l'outil Putty pour vous connecter au serveur à distance et opérer à partir de la ligne de commande
# 🎜🎜#1. Installez mysql
1. Installez cmake#🎜🎜 #cd /usr/local/src tar zxvf cmake-3.7.2.tar.gz
cd cmake-3.7.2
# 🎜🎜#./configuremake# 🎜🎜#make install
2. Installez mysql
cd /usr/local /srcmkdir -p /usr/local/boost# 🎜🎜#
cp boost_1_59_0.tar.gz /usr/local/boostgroupadd mysql # Ajouter un groupe mysqluseradd -g mysql mysql -s /bin/false #Créez l'utilisateur mysql et rejoignez le groupe mysql. Les utilisateurs Mysql ne sont pas autorisés à se connecter directement au système
mkdir -p /data/mysql #Créez le répertoire de stockage de la base de données mysql.
chown -r mysql :mysql /data/mysql #Définir les autorisations du répertoire de stockage de la base de données mysql
mkdir -p /usr/local/mysql #Créer le répertoire d'installation mysql
cd /usr/local/src #Enter le répertoire de stockage des progiciels
tar zxvf mysql- 5.7.16.tar.gz #Extraire
cd mysql-5.7.16 #Entrer le répertoire
cmake -dcmake_install_prefix=/usr/local/mysql -dmysql_datadir=/data/. mysql -dwith_innobase_storage_engine=1 -ddefault_charset=utf8 -ddefault_collation =utf8_general_ci -dwith_embedded_server=off -dwith_boost=/usr/local/boost
Remarque : vous pouvez utiliser les paramètres -ddownload_boost=1 -dwith_boost=/usr/local/boost pour installer le package boost en ligne. Le serveur doit être connecté à Internet et le téléchargement peut échouer.
cmake . _moteur=1 - dwith_federated_storage_engine=1 -dwith_blackhole_storage_engine=1 -dwithout_example_storage_engine=1 -dwith_embedded_server=off -ddownload_boost=1 -dwith_boost=/usr/local/boost
make #Compile
make install #Install
Erreur de compilation, supprimez la compilation avant de refaire compilation Pour les fichiers en échec, les anciens fichiers objets et les informations du cache doivent être effacés lors de la recompilation.
make clean
rm -f cmakecache.txt
rm -rf /etc/my.cnf #Supprimer le fichier de configuration par défaut du système (s'il n'y a pas de fichier de configuration par défaut, pas besoin de le supprimer)
cd /usr /local/mysql #Entrez le répertoire d'installation de mysql
./bin/mysqld --user=mysql --initialize --basedir=/usr/local/mysql --datadir=/data/mysql #Générer la base de données système mysql
- -initialize signifie que le mot de passe par défaut est généré, --initialize-insecure signifie ne pas générer de mot de passe et le mot de passe est vide.
Voir cette ligne [note] un mot de passe temporaire est généré pour root@localhost : i>x18*=rav=7
cp /usr/local/mysql/support-files/my-default.cnf /usr/local / mysql/my.cnf
ln -s /usr/local/mysql/my.cnf /etc/my.cnf #Lien logiciel ajouté au répertoire /etc
cp /usr/local/mysql/support-files/ mysql .server /etc/rc.d/init.d/mysqld #Ajouter mysql au démarrage du système
chmod 755 /etc/init.d/mysqld #Ajouter des autorisations d'exécution
chkconfig mysqld sur #Ajouter au démarrage
vi / etc /rc.d/init.d/mysqld #Edit
basedir=/usr/local/mysql #chemin d'installation du programme mysql
datadir=/data/mysql #répertoire de stockage de la base de données mysql
:wq #Enregistrez et quittez
service mysqld start #Start
vi /etc/profile #Ajoutez le service mysql à la variable d'environnement système : ajoutez la ligne suivante à la fin
export path=$path:/usr/local/mysql/bin
: wq! # Enregistrez et quittez
source /etc/profile #Faites en sorte que la configuration prenne effet immédiatement
Les deux lignes suivantes relient le fichier de bibliothèque myslq à l'emplacement par défaut du système, afin que vous n'ayez pas besoin de spécifier l'adresse du fichier de bibliothèque mysql lors de la compilation de logiciels tels que php.
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
mkdir /var/lib/ mysql #Créer un répertoire
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #Ajouter un lien logiciel
mysql_secure_installation #Modifier le mot de passe mysql, entrez le mot de passe généré précédemment csjlm3dytg.d et appuyez sur Entrée, suivez les invites fonctionnent.
appuyez sur y|y pour oui, sur n'importe quelle autre touche pour non : y #Voulez-vous installer le plug-in de sécurité par mot de passe ? Choisissez y
il existe trois niveaux de politique de validation de mot de passe : #Il existe les options de force de mot de passe suivantes
longueur faible >= 8
longueur moyenne >= 8, numérique, casse mixte et caractères spéciaux
longueur forte >= 8, numérique, casse mixte, caractères spéciaux et fichier dictionnaire
veuillez saisir 0 = faible, 1 = moyen et 2 = fort : 0 #Sélectionnez 0, tant que 8 chiffres suffisent, sélectionnez 1 pour avoir des majuscules et lettres minuscules, caractères spéciaux, etc.
désinstaller le plugin validate_password; #Désinstaller le plugin de force de mot de passe
utiliser mysql;
mettre à jour mysql.user set ignition_string=password('123456') où user='root'; à la console MySQL pour modifier
modifier l'utilisateur 'root'@'localhost' identifié avec mysql_native_password comme '123456' /pcre
tar zxvf pcre-8.40.tar.gzcd pcre-8.40
./configure - -prefix=/usr/local/pcre
make
make install
2. Installez openssl
cd /usr/local/src
mkdir /usr/local/openssl
tar zxvf openssl-1.1.0e. tar.gz
cd openssl-1.1.0e
./config --prefix=/usr/local/ openssl
make
make install
vi /etc/profile
export path=$path:/usr /local/openssl/bin
:wq!
source /etc/profile
3. Installez zlib
cd /usr/local/src
mkdir /usr/local/zlib
tar zxvf zlib-1.2. 11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/ local/zlib
make
make install
4 Installez nginx
.groupadd www
useradd -g www www -s /bin/false
cd /usr/local/src
tar zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.1.0e --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.40
注意:--with-openssl=/usr/local/src/openssl-1.1.0e --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.40指向的是源码包解压的路径,而不是安装的路径,否则会报错
make
make install
/usr/local/nginx/sbin/nginx #启动nginx
设置nginx开机启动
vi /etc/rc.d/init.d/nginx #编辑启动文件添加下面内容
############################################################ #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: nginx is an http(s) server, http(s) reverse \ # proxy and imap/pop3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # source function library. . /etc/rc.d/init.d/functions # source networking configuration. . /etc/sysconfig/network # check that networking is up. [ "$networking" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) nginx_conf_file="/usr/local/nginx/conf/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # make required directories user=`$nginx -v 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` if [ -z "`grep $user /etc/passwd`" ]; then useradd -m -s /bin/nologin $user fi options=`$nginx -v 2>&1 | grep 'configure arguments:'` for opt in $options; do if [ `echo $opt | grep '.*-temp-path'` ]; then value=`echo $opt | cut -d "=" -f 2` if [ ! -d "$value" ]; then # echo "creating" $value mkdir -p $value && chown -r $user $value fi fi done } start() { [ -x $nginx ] || exit 5 [ -f $nginx_conf_file ] || exit 6 make_dirs echo -n $"starting $prog: " daemon $nginx -c $nginx_conf_file retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"stopping $prog: " killproc $prog -quit retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { #configtest || return $? stop sleep 1 start } reload() { #configtest || return $? echo -n $"reloading $prog: " killproc $nginx -hup retval=$? echo } force_reload() { restart } configtest() { $nginx -t -c $nginx_conf_file } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac ############################################################
:wq! #保存退出
chmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限
chkconfig nginx on #设置开机启动
/etc/rc.d/init.d/nginx restart #重启
在浏览器中打开服务器ip地址,会看到下面的界面,说明nginx安装成功。
三、安装php
1、安装yasm
cd /usr/local/src
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
2、安装libmcrypt
cd /usr/local/src
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
3、安装libvpx
cd /usr/local/src
tar zxvf libvpx-1.3.0.tar.gz
cd libvpx-1.3.0
./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9
make
make install
4、安装tiff
cd /usr/local/src
tar zxvf tiff-4.0.7.tar.gz
cd tiff-4.0.7
./configure --prefix=/usr/local/tiff --enable-shared
make
make install
5、安装libpng
cd /usr/local/src
tar zxvf libpng-1.6.28.tar.gz
cd libpng-1.6.28
./configure --prefix=/usr/local/libpng --enable-shared
make
make install
6、安装freetype
cd /usr/local/src
tar zxvf freetype-2.7.1.tar.gz
cd freetype-2.7.1
./configure --prefix=/usr/local/freetype --enable-shared
make
make install
7、安装jpeg
cd /usr/local/src
tar zxvf jpegsrc.v9b.tar.gz
cd jpeg-9b
./configure --prefix=/usr/local/jpeg --enable-shared
make
make install
8、安装libgd
cd /usr/local/src
tar zxvf libgd-2.1.1.tar.gz
cd libgd-2.1.1
./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/lib64 --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx
make
make install
说明:如果libgd编译失败,可以先跳过,直接使用系统默认的2.1.0版本,在编译php的时候把参数--with-gd=/usr/local/libgd修改为--with-gd即可。
9、安装t1lib
cd /usr/local/src
tar zxvf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure --prefix=/usr/local/t1lib --enable-shared
make without_doc
make install
10、安装php
注意:如果系统是64位,请执行以下两条命令,否则安装php会出错。
\cp -frp /usr/lib64/libltdl.so* /usr/lib/
\cp -frp /usr/lib64/libxpm.so* /usr/lib/
cd /usr/local/src
tar -zvxf php-7.1.2.tar.gz
cd php-7.1.2
export ld_library_path=/usr/local/libgd/lib
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd=/usr/local/libgd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/lib64 --with-zlib-dir=/usr/local/zlib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype --enable-mysqlnd
make #编译
make install #安装
说明:如果提示libgd版本错误,把php编译参数--with-gd=/usr/local/libgd修改为--with-gd即可。
cp php.ini-production /usr/local/php/etc/php.ini #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php/etc/php.ini /etc/php.ini #Ajoutez un lien symbolique vers le répertoire /etc
cp /usr/local/php/etc/php-fpm.conf. default / usr/local/php/etc/php-fpm.conf #Copiez le fichier modèle dans le fichier de configuration php-fpm
ln -s /usr/local/php/etc/php-fpm.conf /etc/php -fpm.conf #Ajouter un lien symbolique vers le répertoire /etc
vi /usr/local/php/etc/php-fpm.conf #Edit
pid = run/php-fpm.pid #Annuler le point-virgule précédent
:wq # Enregistrez et quittez
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vi /usr/local /php/etc/php-fpm.d/www.conf #Edit
user = www #Définissez le compte en cours d'exécution php-fpm comme www
group = www #Définissez le groupe d'exécution php-fpm comme www
Définir php-fpm Démarrage
cp /usr/local/src/php-7.1.2/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php- fpm #Copier php-fpm dans le répertoire de démarrage
chmod +x /etc/rc.d/init.d/php-fpm #Ajouter des autorisations d'exécution
chkconfig php-fpm sur #Définir le démarrage
vi /usr/local/ php/etc/php.ini #Modifier le fichier de configuration
Trouvé : désactiver_fonctions =
Modifier en : désactiver_fonctions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore, dl, openlog, syslog, readlink, lien symbolique, popepassthru, stream_socket_server, escapeshellcmd, dll, popen, disk_free_space, checkdnsrr, checkdnsrr, getservbyname, getservbyport, disk_total_space, posix_ctermid, posix_get_last_error, posix_getegid, posix_geteuid, posix_getgid, , posix_getgrgid,pos ix_getgrnam,posix_getgroups ,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, d, posix_setsid, posix_setuid, posix_strerror, posix_time s, posix_ttyname, posix_uname
# Liste les fonctions qui peuvent être désactivées en php, si certains programmes doivent utiliser cette fonction et peuvent être supprimés ou désactivés.
Trouvé : ;date.timezone =
Modifié en : date.timezone = prc #Définir le fuseau horaire
Trouvé : exposer_php = on
Modifié en : exposer_php = off #Supprimer l'affichage des informations de version php
Trouvé : short_open_tag = off
Modifié en : short_open_tag = on #Support php short tag
Find opcache.enable=0
Modifié en opcache.enable=1 #php prend en charge la mise en cache des opcodes
Trouvé :;opcache.enable_cli=1 #php prend en charge opcode Cache
Modifier vers : opcache.enable_cli=0
Ajouter dans la dernière ligne : zend_extension=opcache.so #Activer la fonction de mise en cache des opcodes
:wq #Enregistrer et quitter
Configurer nginx pour prendre en charge php
vi / usr/local/ nginx/conf/nginx.conf
Modifiez le fichier de configuration /usr/local/nginx/conf/nginx.conf et apportez les modifications suivantes
user www www; et modifiez le groupe en cours d'exécution nginx en www www ; Il doit être identique aux configurations d'utilisateur et de groupe dans /usr/local/php/etc/php-fpm.conf, sinon php ne fonctionnera pas correctement
index index.html index. htm index.php; #Ajouter index.php
# transmettre les scripts php au serveur fastcgi en écoute sur 127.0.0.1:9000
#
emplacement ~ .php$ {
root html;
fastcgi_pass 127.0.0.1 : 9000;
fastcgi_index index.php;
fastcgi_param script_filename $ document_root$fastcgi_script_name;
include fastcgi_params;
}
#Décommentez l'emplacement de la partie serveur fastcgi, faites attention aux paramètres de la ligne fastcgi_param, modifiez-la vers $document_root$fastcgi_script_name, ou utilisez le chemin absolu
/etc/init.d/nginx restart #Restart nginx
service php-fpm start #Start php-fpm
Test section
cd /usr/local /nginx/html/ #Entrez le répertoire racine du site Web par défaut de nginx
rm -rf /usr/local /nginx/html/* #Supprimez la page de test par défaut
vi index.php #Créez un nouveau fichier index.php
< ;?php
phpinfo();
?>
:wq! #Enregistrez et quittez
chown www.www /usr/local/nginx/html/ -r #Définir le propriétaire du répertoire
chmod 700 /usr /local/nginx/html/ -r #Définir les autorisations du répertoire
Ouvrez l'adresse IP du serveur dans le navigateur, vous verrez l'interface suivante
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!