阿里云 nginx php mysql_阿里云 Ubuntu + Nginx + PHP + MySQL
最近在阿里云上配置服務器,踩了不少坑,記錄一下,希望能幫助到有同樣需求的朋友們。
整個配置過程基本上是按照下面這篇帖子進行的,寫的非常清楚,按照步驟一步一步來就行了。Installing Nginx, MySQL, PHP (LEMP) Stack on Ubuntu 18.04 | DevAnswers.co?devanswers.co
在此之后還可以繼續配置 phpMyAdmin ,以及用 Let's Encrypt 配置 SSL Cert 也就是 Https,是免費的哦~ 對應鏈接如下:Installing phpMyAdmin for Nginx on Ubuntu 18.04 / 19.10 | DevAnswers.co?devanswers.coConfiguring Let’s Encrypt SSL Cert for Nginx on Ubuntu 18.04 / 19.10 | DevAnswers.co?devanswers.co
一切基本都很順利。下面是基于阿里云的一些配置和我遇到的一些問題:
阿里云安全組配置
阿里云的ECS需要對安全組進行端口配置才能允許相應的端口訪問,具體操作如下:進入ECS實例,在“更多”里選擇“網絡和安全組” -> “安全組配置” -> “配置規則”
“添加安全組規則” 添加三條規則,端口分別添加 “80”(Http端口),“443”(Https端口),“20/21”(FTP傳輸端口),授權對象均為“0.0.0.0/0”
阿里云云解析
你的域名想要與ECS上的IP地址對應,需要在云解析里對域名進行解析。進入阿里云云解析DNS
“解析設置” -> “添加記錄”
“主機記錄”填你的域名,或者子域名,“記錄類型”選A,“記錄值”填ECS的IP地址。需要幾個域名或子域名則添加幾條記錄
Lumen/Laravel 的配置
我的項目用的是Lumen寫的API,所以在配置Nginx的時候和通用PHP的配置有一些不同。
文件目錄是/etc/nginx/sites-available/mydomain.comroot 的文件目錄要在項目后加上 /public,因為 Lumen/Laravel 的 index.php 是在 /public 里的。 如:root /var/www/mydomain.com/public
第一個 location
location / {
try_files $uri $uri/ /index.php?$query_string;
}第二個 location
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
使用 PHP5.6 版本的舊項目
我有的舊項目使用的是 PHP5.6 版本,按之前的流程,服務器上裝的是 PHP7.2 版。因此需要為舊項目再安裝 PHP5.6 以保證舊項目可以繼續運行。
sudo apt-get update
sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php5.6-fpm
sudo apt-get install pdo-mysql php5.6-mysql
然后再把舊項目的 Nginx 配置文件中的 php7.2-fpm.sock 改成 php5.6-fpm.sock 就可以了
最后記得更改 Nginx 配置文件之后要重啟 Nginx 服務器 sudo service nginx restart
總結
以上是生活随笔為你收集整理的阿里云 nginx php mysql_阿里云 Ubuntu + Nginx + PHP + MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机应用常用的30个函数,Excel中
- 下一篇: mysql提供的六种约束_SQL的六种约