Apache 要修改 /etc/apache/apache.conf
MaxKeepAliveRequests 10000
#預設是100
MySQL 的部份修改 /etc/mysql/my.cnf
max_connections=10000
#預設是100
之後在restart apache&mysql即可。
AWS、PHP、LINUX、APACHE、MYSQL、CAKEPHP、JAVASCRIPT…….
Apache 要修改 /etc/apache/apache.conf
MaxKeepAliveRequests 10000
#預設是100
MySQL 的部份修改 /etc/mysql/my.cnf
max_connections=10000
#預設是100
之後在restart apache&mysql即可。
使用Titanium開發android app,如果要實做push notification 功能可以使用gcm module,步驟如下:
1.上github,clone titanium gcm module
Github:https://github.com/MR-SC/titanium-gcm
原作者:https://github.com/liccowee/Google-Cloud-Messaging–Titanium-
2.下載下來後,修改timodule.xml,把裡面的package name改成你的app的package name,然後重新build~
1 |
<manifest package="my-package-name"> |
3.修改tiapp.xml
增加以下屬性,並且改成你自己的sender_id/package-name/project-name
1 2 3 4 |
<property name="com.activate.gcm.sender_id" type="string">1034207024214</property> <property name="com.activate.gcm.icon" type="int">2130837504</property> <property name="com.activate.gcm.component" type="string"> package-name/package-name.project-nameActivity</property> |
4.修改index.js
在你的index.js增加以下code
1 2 3 4 5 6 7 8 9 10 11 |
var gcm = require('com.activate.gcm'); gcm.registerC2dm({ success:function(e){ //save token to your server Ti.API.info('gcm deviceToken: '+ gcm.getRegistrationId()); }, callback:function(e){ //do something } }); |
以上為你的app再background running的時候,一切都會正常,因為callback函式會被觸發。
但是若你的app並沒有在背景執行,這個callback並不會被觸發,所以需要再加一些code,如下。
1 2 3 4 5 6 7 |
var last_data = Ti.App.Properties.getString('com.activate.gcm.last_data'); if(last_data){ Ti.API.info('has last_data '); raw_data = JSON.parse(last_data); //do something Ti.App.Properties.setString('com.activate.gcm.last_data', null); } |
因為這個gcm module會把你從server push到手機的data存在Ti.App.Properties的”com.activate.gcm.last_data”屬性。
所以即使app不在背景執行,當使用者點了notification後會啓動app,然後再透過上面得到資料,然後就可以做你想做的事。但記得做完你想做的事要把該屬性設為null,否則下次又會拿到相同舊的資料。
以上為gcm module使用方法,僅供參考。
在使用Titanium開發android & ios app的時候常常需要使用到module來擴充功能。
以下是製作module的步驟
Android module
1.打開Titanium studio在project explorer下點右鍵建立module
說明:建立完後你可以自行在/src目錄下找到.java檔案,你可以自行編輯並且擴充你想要的原生功能。寫完後就可以開始編譯,步驟如下。
2.安裝apache ant
可以到官網看說明:http://ant.apache.org/
3.安裝android ndk
可以到android developer頁面看說明:
https://developer.android.com/tools/sdk/ndk/index.html
4.修改build.property
加入以下這行讓module找得到ank
android.ndk=/Users/xxx/Downloads/android-ndk-r9c
5.如果有需要可以修改.classpath
如果你需要引入一些外部lib,可以放在根目錄下的lib,然後修改根目錄下的.classpath檔案。
例如:
<classpathentry kind=”lib” path=”lib/facebooksdk.jar”/>
6.之後下ant 指令
在module根目錄下打ant指令即可,之後會多出一個dist目錄,裡面有一個壓縮zip檔,就是已經build完的module。
7.引入module
將.zip檔案放到~/Library/Application Support/Titanium 下解壓縮,titanium會自動將該module的zip檔解壓縮至正確的位置。
以上就是在Mac下製作android module的步驟清單,之後修改tiapp.xml將該module納進來即可。
Ios module
1.同android一樣create一個module,只是要改成選ios module
2.編輯.xcodeproj
修改module根目錄下的.xcodeproj,可以打open modulename.xcodeproj。
之後會開啓xcode。
之後可以在Classes下找到xxxModule.m,你可以編輯它,增加你要的功能。
3.Link Binary with libraries
如果你需要納入外部的library,可以在該project下新增,如下圖。
修改完存檔離開即可。
4.修改module.xcconfig
回到module根目錄下面,編輯module.xcconfig,增加OTHER_LDFLAGS屬性。
例如以下:
OTHER_LDFLAGS=$(inherited) -framework Foundation -framework CoreGraphics -framework UIKit -F”/Documents/FacebookSDK” -framework FacebookSDK
5.編譯
之後回到module根目錄打./build.py即可,會在根目錄下建立一個.zip檔,同樣放到根android一樣的位置並解壓縮即可。
以上爲製作Titanium ios module的步驟。
本篇文章爲製作Titanium andorid & ios module的方法,僅供參考。
特別注意: 有些服務關閉會造成系統異常,如果您不熟悉這些服務是什麼,請勿動他,上網查詢明白後再決定是否關閉它:
安裝:
1 |
sudo apt-get install sysv-rc-conf |
在我們開始搞亂它們之前,我要在這裡引入一些運行等級知識 ….全部開機進程執行順序如下:
運行等級 0:關閉計算機
運行等級 6:重起計算機
執行:
1 |
sudo sysv-rc-conf |
各個服務相關說明如下: