下面由laravel教程栏目给大家介绍关于laravel-s高性能,希望对需要的朋友有所帮助!
最近公司接了一个基于laravel二开项目,客户对于高并发要求比较高,传统的部署laravel项目测试发现已经达到瓶颈,后来发现 laravel-s 可以快速集成 swoole 到 laravel 或 lumen,然后赋予它们更好的性能于是就试了下,没想到结果大大出乎我的意料,性能大幅度提升,客户也很满意。
下面说下具体流程:
1.引入依赖
composer require hhxsv5/laravel-s
2.配置好 .env 文件
app_name=testapp_env=localapp_key=base64:qxu20ct+xlvgensmvzrupxjwgarbb9r6kno4bj5ibps=app_debug=falseapp_url=https://xxx.com/log_channel=stackdb_connection=mysqldb_host=127.0.0.1db_port=3306db_database=databasedb_username=rootdb_password=rootbroadcast_driver=logcache_driver=filequeue_connection=syncsession_driver=filesession_lifetime=120redis_host=127.0.0.1redis_password=nullredis_port=6379mail_driver=smtpmail_host=smtp.mailtrap.iomail_port=2525mail_username=nullmail_password=nullmail_encryption=nullaws_access_key_id=aws_secret_access_key=aws_default_region=us-east-1aws_bucket=pusher_app_id=pusher_app_key=pusher_app_secret=pusher_app_cluster=mt1mix_pusher_app_key="${pusher_app_key}"mix_pusher_app_cluster="${pusher_app_cluster}"jwt_secret=muw2tyybfuckxxqlcfwjb6qfmrgbump1uyqtca9g9zicee3byz9epm7ejow1reyu
3.发布配置和二进制文件。这里有几点要注意,如果修改了路由或者其他配置文件需要清理缓存,重新生成配置缓存
php artisan cache:clearphp artisan config:cache
发布配置和二进制文件
php artisan laravels publish
4.运行
php bin/laravels start
5.与nginx配合使用
gzip on;gzip_min_length ;gzip_comp_level ;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;gzip_vary on;gzip_disable "msie6";upstream swoole { # 通过 ip:port 连接 server weight= max_fails= fail_timeout=30s; # 通过 unixsocket stream 连接,小诀窍:将socket文件放在/dev/shm目录下,可获得更好的性能 #server unix:/xxxpath/laravel-s-test/storage/laravels.sock weight= max_fails= fail_timeout=30s; #server weight= max_fails= fail_timeout=30s; #server backup; keepalive ;}server { listen ; # 别忘了绑host哟 server_name laravels.com; root /xxxpath/laravel-s-test/public; access_log /yyypath/log/nginx/$server_name.access.log main; autoindex off; index index.html index.htm; # nginx处理静态资源(建议开启gzip),laravels处理动态资源。 location / { try_files $uri @laravels; } # 当请求php文件时直接响应404,防止暴露public/*.php #location ~* \.php$ { # return 404; #} location @laravels { # proxy_connect_timeout 60s; # proxy_send_timeout 60s; # proxy_read_timeout 120s; proxy_http_version 1.1; proxy_set_header connection ""; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-real-port $remote_port; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header host $http_host; proxy_set_header scheme $scheme; proxy_set_header server-protocol $server_protocol; proxy_set_header server-name $server_name; proxy_set_header server-addr $server_addr; proxy_set_header server-port $server_port; proxy_pass http://swoole; }}
以上就是laravel-s居然能提升这么高性能!的详细内容。