最近点餐项目用到megento给客户做外卖和点餐平台,小记一下。
生产环境推荐:
Apache 2.2 or 2.4 or Nginx 任意版本(我这里使用的openresty)
PHP 5.6.x, 7.0.2
MySQL 5.6.x
Magento 2.1.X与Magento2.0.X不同之处在于.
Magento 2.1.X不再支持PHP5.6版本.而且Magento2.1.2版本以后支持PHP7.0.4
Magento2.1.2及以后版本兼容Mysql 5.7
支持分布式搜索引擎Elasticsearch 1.0版本到最新的5.0版本
php扩展:
bc-math (商业版才需要)
curl
gd 或者 ImageMagick 6.3.7及以上版本 也可以两个都装
intl
mbstring
mcrypt
mhash
openssl
PDO/MySQL
SimpleXML
soap
xml
xsl
zip
PHP 7 only:
json
iconv
php需要启用的函数:symlink。如果/etc/php.ini文件中disable function有禁用删除掉即可。
Nginx伪静态规则(apache就不说了你懂的):
配置方法有两种。一种是直接引用官方模板,引用方法如下:
方法一:
mkdir -p /usr/local/openresty/nginx/conf/rewrite/
cp /data/www/xxx.com/nginx.conf.sample /usr/local/openresty/nginx/conf/rewrite/megento.conf
upstream fastcgi_backend {
# use tcp connection
# server 127.0.0.1:9000;
# or socket
#tips:注意和你的php配置的路径对应
server unix:/tmp/php-cgi.sock;
}
server {
listen 80;
server_name www.xxx.com xxx.com;
set $MAGE_ROOT /data/www/xxx.com;
include /usr/local/openresty/nginx/conf/rewrite/megento.conf;
}
另一种是直接复制我贴出来的。
方法二:
Tips:
- 配置https的时候,也需要对应修改框架配置文件中的URL,并执行以下命令。 bin/magento app:config:import
bin/magento setup:upgrade - 注意修改php-cgi.sock路径和nginx路径.
server
{
listen 80;
#listen [::]:80;
server_name www.xxx.com xxx.com;
return 301 https://www.xxx.com$request_uri;
}
server {
listen 80;
listen 443 ssl http2;
#ssl on;
server_name www.xxx.com xxx.com;
set $MAGE_ROOT /data/www/xxx.com;
root $MAGE_ROOT/pub;
index index.php;
autoindex off;
charset UTF-8;
error_page 404 403 /errors/404.php;
#add_header "X-UA-Compatible" "IE=Edge";
ssl_certificate /usr/local/openresty/nginx/conf/vhost/ssl/xxx.com.crt;
ssl_certificate_key /usr/local/openresty/nginx/conf/vhost/ssl/xxx.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
ssl_dhparam /usr/local/openresty/nginx/conf/vhost/ssl/dhparam.pem;
# PHP entry point for setup application
location ~* ^/setup($|/) {
root $MAGE_ROOT;
location ~ ^/setup/index.php {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ ^/setup/(?!pub/). {
deny all;
}
location ~ ^/setup/pub/ {
add_header X-Frame-Options "SAMEORIGIN";
}
}
# PHP entry point for update application
location ~* ^/update($|/) {
root $MAGE_ROOT;
location ~ ^/update/index.php {
fastcgi_split_path_info ^(/update/index.php)(/.+)$;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
# Deny everything but index.php
location ~ ^/update/(?!pub/). {
deny all;
}
location ~ ^/update/pub/ {
add_header X-Frame-Options "SAMEORIGIN";
}
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location /pub/ {
location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) {
deny all;
}
alias $MAGE_ROOT/pub/;
add_header X-Frame-Options "SAMEORIGIN";
}
location /static/ {
# Uncomment the following line in production mode
# expires max;
# Remove signature of the static files that is used to overcome the browser cache
location ~ ^/static/version {
rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
}
location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;
if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;
if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
}
if (!-f $request_filename) {
rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
}
add_header X-Frame-Options "SAMEORIGIN";
}
location /media/ {
try_files $uri $uri/ /get.php?$args;
location ~ ^/media/theme_customization/.*\.xml {
deny all;
}
location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;
try_files $uri $uri/ /get.php?$args;
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;
try_files $uri $uri/ /get.php?$args;
}
add_header X-Frame-Options "SAMEORIGIN";
}
location /media/customer/ {
deny all;
}
location /media/downloadable/ {
deny all;
}
location /media/import/ {
deny all;
}
# PHP entry point for main application
location ~ (index|get|static|report|404|503)\.php$ {
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_buffers 1024 4k;
fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=768M \n max_execution_time=600";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/xml+rss
image/svg+xml;
gzip_vary on;
# Banned locations (only reached if the earlier PHP entry point regexes don't match)
location ~* (\.php$|\.htaccess$|\.git) {
deny all;
}
}
最新评论
世间因为有你而美丽!我也一直想当个志愿者,奈何身体不允许
告诉那小孩 叫哥哥
666
123
此时此刻,感慨万千,旧的一年已经过去,新的一年已经到来,展望未来,美好的日子正等 着我们去奋斗,愿在新的一年里,我们能够继续经受住考验,克服困难,春暖花开
智能插座都是扯,插座还是公牛好用
下载链接失效了 求补
连接失效了