要部署環境上線項目,先具備以下條件:伺服器(ip、帳號密碼、終端)、對應的軟體、網域名稱(備案解析、代碼)等。
伺服器、網域購買
先登入控制台,取得需要連線的主機ip位址:
##取得到用於連接的公用IP後,即可使用遠端終端工具連接上待操作上線的伺服器。 遠端工具可以使用Putty、CMD等,無限制需求。 以CentOS7.6為例,購買好伺服器並產生實例後,第一次登入系統請先執行「yum -y update」更新整個系統,防止系統有漏洞: 2、安裝PHP7在目前系統預設的yum來源中,PHP最新的版本為5.4.16[DY2] ,而需要上線的項目要求最低版本為PHP7.0,此時,EPEL[DY3] 恰恰可以解決這的問題。 a. 安裝CentOS7適用的epelrpm -Uvhhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php72w php72w-cli php72w-common php72w-develphp72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlndphp72w-opcache php72w-pdo php72w-xml
php -v
yum -y install httpd
注意:Apache的預設網站位於「/var /www/html」
建立index.html、index.php文件,內容隨意:#使用瀏覽器進行測試存取:#4、安裝Mariadb[DY5]這裡安裝的Mariadb為MySQL的一大分支,在使用上與MySQL沒有太大的差異。 a.執行安裝指令
yum -y install mariadb-server
systemctl enable mariadb && systemctlstart mariadb
mysql -u root -p
Шаг 1**: Импортируйте файл sql**** в базу данных. база данных**
Войдите в интерфейс управления базой данных из командной строки, создайте необходимую базу данных edu16 и используйте исходную команду для импорта файла sql:
Шаг 2
* *: Создайте рабочий каталог сайта, распакуйте загруженный zip-пакет с кодом****, а затем скопируйте код в рабочий каталог сайта**
a. Каталог сайта должен иметь вид «/var /www/html».
Создать каталог сайта:
Каталог уже существует, создавать его не нужно
b. Скопируйте ранее загруженный сжатый пакет кода в текущий каталог сайта, распакуйте сжатый файл. пакет, и распаковка завершена. Вы можете удалить его позже
Синтаксис декомпрессии: распакуйте путь к сжатому пакету
В настоящее время, поскольку файл записи сайта в общедоступном каталоге, а сайт текущего проекта находится в /var. В /www/html отсутствует общедоступный файл, поэтому вам необходимо изменить элемент DocumentRoot в файле конфигурации Apache.
# vim /etc/httpd/conf/httpd.conf
После оплаты нажмите «Сертификат для подачи заявки»:
# Дождитесь завершения выдачи сертификата, а затем загрузите сертификат:
Файлы общедоступного и частного сертификата, полученные после распаковки сжатого пакета:
Загрузите три файла на сервер, исправьте путь сохранения и постарайтесь не менять его.
Договорено хранить общедоступные и частные файлы сертификатов в "/ssl/"
b. Установите модуль Apache mod_ssl
yum -y install mod_ssl
c.Справочник по конфигурации виртуального хоста (80 443):
Примечание: apache установлен способом yum # Основной файл конфигурации по умолчанию для ## находится в /etc/httpd/conf/httpd.conf
根据主配置文件中的配置可以看出,其引入了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
创建好之后,参考上述的框框中配置代码,进行修改,其中443端口的虚拟主机配置含义如下:
修改完毕之后保存退出,然后重启apache
systemctl restart httpd
d. 打开浏览器访问项目,检查https协议是否生效
问题,生效虽然生效了,但是https协议需要用户手动去补充,在直接输入域名访问的时候默认还是80的http****协议,如何解决?
答:使用重写的方法,强制用户在访问http的时候跳转到https。操作步骤如下,在站点根目录下的“.htaccess”文件中添加如下代码,保存退出即可:
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
举手之劳:框架运行的时候报错了,请解决。
错误1**:权限不足**
解决办法:
错误2**:数据库连接失败**
解决办法:修改项目目录下的.env文件
处理完毕之后项目即可访问您的项目了。
[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视频教程》
以上是手把手教你Linux PHP環境部署與專案上線(分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!