Maison >développement back-end >tutoriel php >Vous apprendre étape par étape le déploiement de l'environnement Linux PHP et le lancement du projet (partage)

Vous apprendre étape par étape le déploiement de l'environnement Linux PHP et le lancement du projet (partage)

慕斯
慕斯avant
2021-06-07 09:49:575838parcourir

Cet article partagera avec vous le déploiement de l'environnement PHP Linux et le lancement du projet Il a certaines références Valeur, les amis dans le besoin peuvent s'y référer, j'espère que cela sera utile à tout le monde.

Vous apprendre étape par étape le déploiement de l'environnement Linux PHP et le lancement du projet (partage)

1. Déploiement en ligne du projet

1.Préface

Pour déployer environnement de projets en ligne, les conditions suivantes doivent être au préalable remplies : serveur (IP, mot de passe du compte, terminal), logiciel correspondant, nom de domaine (analyse de l'enregistrement, code), etc.

Achat de serveur et de nom de domaine

Connectez-vous d'abord à la console et obtenez l'adresse IP de l'hébergeur auquel vous devez vous connecter :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Obtenir l'adresse IP Après vous être connecté à l'adresse IP publique, vous pouvez utiliser l'outil de terminal distant pour vous connecter au serveur à exploiter en ligne.

Les outils distants peuvent utiliser Putty, CMD, etc., sans restrictions.

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Prenons CentOS7.6 comme exemple. Après avoir acheté un serveur et créé une instance, veuillez vous connecter au système pour la première fois et exécuter "yum -y update". pour mettre à jour l'ensemble du système pour éviter qu'il y ait des vulnérabilités dans le système :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

2 Installez PHP7

Dans la source yum par défaut du système actuel, la dernière version. de PHP est 5.4.16[DY2], Les projets qui doivent être lancés nécessitent la version minimale de PHP7.0. Pour le moment, EPEL[DY3] peut résoudre ce problème.

a. Installez epel pour CentOS7

 rpm -Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

b. Obtenez la source yum de PHP7

rpm -Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm

c. Installez PHP7.2 et ses extensions communes

yum install php72w php72w-cli php72w-common php72w-develphp72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlndphp72w-opcache php72w-pdo php72w-xml

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)


d. Tester l'installation de PHP

php -v

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

3. Installer Apache2

a. commande :

yum -y install httpd

b. Configurez Apache pour démarrer et démarrer Apache :

systemctl activate httpd && systemctl start httpd[DY4]

c. Le script php teste si Apache analyse normalement les fichiers dynamiques et statiques

Remarque : le site par défaut d'Apache se trouve à "/var /www/html"

Créez des fichiers index.html et index.php avec n'importe quel contenu :

Utilisez un navigateur pour tester l'accès :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

4. Installez Mariadb[DY5]

Le Mariadb installé ici est une branche majeure de MySQL, et il n'est pas très différent de MySQL utilisé.

a. Exécutez la commande d'installation

yum -y install mariadb-server

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

b. Démarrez le service Mariadb et définissez les éléments de démarrage

systemctl enable mariadb && systemctlstart mariadb

c. initialisation de la base de données Mariadb Instructions (définition du mot de passe initial et autres opérations)

mysql_secure_installation[DY6]

d Essayez de vous connecter à Mariadb en utilisant la ligne de commande

mysql -u root -p

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

5 , Résolution de nom de domaine

J'avais l'habitude de modifier le fichier hosts, qui est en fait un type de résolution de nom de domaine. À cette époque, il n'était limité qu'au local, mais maintenant. il doit être considéré en ligne.

Pour effectuer la résolution, vous devez vous connecter au panneau de contrôle du nom de domaine. Avant d'analyser le nom de domaine, il est préférable de vous assurer que le nom de domaine a été enregistré. S'il n'y a pas de nom de domaine enregistré, bien que la résolution réussisse, cela affectera l'utilisation lorsque l'utilisation sera interceptée par le fournisseur de services.

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Cliquez sur le bouton Ajouter un enregistrement d'analyse :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Remplissez les informations d'enregistrement correspondantes dans l'interface de la fenêtre contextuelle [DY7] :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Utiliser le test ping :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

6. Décompressez le code et importez-le dans la base de données

Étape 1** : Importez le fichier sql**** dans le base de données**

Entrez dans l'interface de gestion de ligne de commande de la base de données, créez la base de données requise edu16 et utilisez la commande source pour importer le fichier sql :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Étape 2* * : Créez le répertoire d'exécution du site, décompressez le package zip**** du code téléchargé, puis copiez le code dans le répertoire d'exécution du site**

a. Le répertoire du site est accepté comme étant "/var /www/html".

Créer le répertoire du site :

Le répertoire existe déjà, pas besoin de le créer

b Copiez le package compressé de code précédemment téléchargé dans le répertoire du site actuel, décompressez le compressé. package, et la décompression est terminée Vous pouvez le supprimer plus tard

Syntaxe de décompression : décompresser le chemin du package compressé

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

À ce moment, car le fichier d'entrée du site est dans le répertoire public et le site du projet actuel est dans /var Dans /www/html, il manque un public, vous devez donc modifier l'élément DocumentRoot dans le fichier de configuration Apache à ce moment-là.

# vim /etc/httpd/conf/httpd.conf
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Accordez également l'autorisation d'écriture sur le répertoire temporaire :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)
Résolvez le problème pseudo-statique (si vous ne le résolvez pas, vous ne pouvez accéder qu'à la page d'accueil, et les autres pages recevront 404) :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Idée : ouvrez le répertoire racine de l'élément de configuration AllowOverride du site actuel, définissez-le sur Tout, puis redémarrez Apache.

7. Créer un hôte virtuel

Objectif : Il est nécessaire que le serveur en ligne soit accessible via le protocole https. [Améliorez la sécurité et renforcez la confiance des utilisateurs dans le site Web]

a. Demandez un certificat SSL

Si vous souhaitez que votre site prenne en charge le protocole https, vous devez d'abord demander un certificat de serveur auprès de le CA. Il existe actuellement de nombreux certificats gratuits disponibles, tels que le certificat gratuit d'un an de Sysmantec en coopération avec Alibaba Cloud. Généralement, les certificats gratuits ne peuvent être liés qu'à un seul nom de domaine. En plus d'un an de service gratuit, il existe également trois mois de service gratuit, mais il n'y a pas de limite sur le nombre de fois, le nombre de noms de domaine et prend même en charge les caractères génériques.

Prenons Alibaba Cloud comme exemple :

https://common-buy.aliyun.com/?spm=5176.2020520163.cas.3.267d56a7EBRcYw&commodityCode=cas#/buy

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Une fois le paiement effectué, cliquez sur « Certificat à appliquer » :
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Attendez que l'émission du certificat soit terminée, puis téléchargez le certificat :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Les fichiers publics et privés du certificat obtenus après décompression du package compressé :

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

Téléchargez les trois fichiers sur le serveur, corrigez le chemin de sauvegarde et essayez de ne pas le modifier.

Il est convenu que les fichiers de certificats publics et privés seront stockés dans "/ssl/"
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

b Installez le module mod_ssl d'Apache

yum. -y install mod_ssl

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

c. Référence de configuration de l'hôte virtuel (80+443) :

Remarque : Apache installé avec yum Le fichier de configuration principal par défaut pour se trouve dans /etc/httpd/conf/httpd.conf

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

根据主配置文件中的配置可以看出,其引入了conf.d目录下的全部conf文件,那么可以在该目录中创建一个vhosts.conf****文件,作为虚拟主机的配置文件:

80端口主机:

<VirtualHost *:80>
ServerAdmin cherish@cherish.pw
DocumentRoot"PATH"
ServerName “yourdomain.com”
<Directory “PATH”>
Allow from all
AllowOverride all
Options -indexes
Require all granted

443端口主机:

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile “公钥文件路径”
SSLCertificateKeyFile “私钥文件路径”
SSLCertificateChainFile “证书链文件路径”
SSLCipherSuite"ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE"
SSLProtocol TLSv1.1 TLSv1.2
Headeralways set Strict-Transport-Security “max-age=63072000; includeSubdomains;preload”
DocumentRoot “PATH”
ServerName “yourdomain.com”
<Directory “PATH”>
Allowfrom all
AllowOverride all
Options -indexes
Require all granted

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

创建好之后,参考上述的框框中配置代码,进行修改,其中443端口的虚拟主机配置含义如下:
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

修改完毕之后保存退出,然后重启apache

systemctl restart httpd

d. 打开浏览器访问项目,检查https协议是否生效

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

问题,生效虽然生效了,但是https协议需要用户手动去补充,在直接输入域名访问的时候默认还是80的http****协议,如何解决?

答:使用重写的方法,强制用户在访问http的时候跳转到https。操作步骤如下,在站点根目录下的“.htaccess”文件中添加如下代码,保存退出即可:
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

举手之劳:框架运行的时候报错了,请解决。

错误1**:权限不足**
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

解决办法:
Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

错误2**:数据库连接失败**

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

解决办法:修改项目目录下的.env文件

Vous apprendre étape par étape le déploiement de lenvironnement Linux PHP et le lancement du projet (partage)

处理完毕之后项目即可访问您的项目了。


[DY1]如搭配使用的服务器在大陆境内,则需要域名先通过ICP备案。

[DY2]RHEL以及他的衍生发行版如CentOS、Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安全稳定才是重点。

[DY3]EPEL:Extra Packages of EnterpriseLinux

[DY4]“指令A && 指令B”语法表示当指令A执行成功之后再去执行指令B。

systemctl指令是CentOS7中特有的指令,含义如指令名称:systemcontrol。

控制服务开关:

systemctl 开关服务名

启动项管理:

  • systemctl enable/disable 服务名

  • [DY5]在CentOS7的yum源中,数据库软件没有MySQL,取而代之的是Mariadb。

  • [DY6]执行该指令后依次有以下几个输入内容:

  • 输入当前数据库root帐号密码,没有密码则直接按回车;

  • 是否设置密码?输入Y后,为root用户设置密码;

  • 是否移除匿名用户?选择Y;

  • 是否禁止root用户远程登录?Y/n均可,不会生效;

  • 是否删除测试的test数据库?选择Y/n均可;

  • 是否刷新权限?选择Y;

[DY7]常见的几个记录类型:

A记录:将域名指向一个IPv4地址;

CNAME记录:域名的别名,将一个域名指向另一个域名;

MX记录:一般用于做域名邮箱,将域名指向一个邮件服务器;

推荐学习:《PHP视频教程

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer