您好,登錄后才能下訂單哦!
說明:OpenResty 是一個基于Nginx與Lua的高性能web平臺,但lua語言在寫web程序方面有很多不足,比如基礎庫缺乏,寫web程序太費精力。PHP語言簡單快捷,容易上手,有很多快速開發web程序的各類框架。如果能有這么一個框架:在需要高性能的地方用lua,在業務邏輯復雜的地方用web。這樣,既可以快速開發web網站,又能提高系統性能。
本系列總共6篇文章,將一步步說明怎么搭建環境,怎么開發restful API,lua框架villina的簡單說明,一些小技巧等。
摘要:centos6.5下用源碼安裝php5.6、openresty、mysql5.6、pdo_mysql擴展、redis3.0。
源碼統一放到/opt/src目錄。
conf配置文件統一放到/etc/conf目錄。
1. php5.6安裝
⑴ 下載PHP
cd /opt/src/
wget http://cn2.php.net/distributions/php-5.6.17.tar.gz
tar -zxvf php-5.6.17.tar.gz
cd php-5.6.17
⑵ 配置PHP的編譯參數
./configure --prefix=/opt/php --with-mysql --with-mysqli --with-iconv-dir --with-zlib --with-libxml-dir --enable-xml --with-curl --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-libdir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 --with-png-dir=/usr/lib64
① 如果出現錯誤:
configure: error: xml2-config not found. Please check your libxml2 installation
安裝: yum install -y libxml2-devel
② 如果出現錯誤:
configure: error: Cannot find OpenSSL's <evp.h>
安裝: yum install -y openssl-devel
③ 如果出現錯誤:
configure: error: Please reinstall the libcurl distribution
安裝: yum install -y libcurl-devel
④ 如果出錯誤:
configure: error: jpeglib.h not found
安裝: yum install -y libpng-devel libjpeg-devel
⑤ 如果出現錯誤:
configure: error: freetype-config not found.
安裝: yum install -y freetype-devel
⑥ 安裝下列軟件:
yum install -y make cmake gcc gcc-c++ autoconf automake
⑶ 編譯
make
make install clean
⑷ 復制php.ini
cp php.ini-development /opt/php/lib/php.ini
cd /opt/php/etc/
cp php-fpm.conf.default php-fpm.conf
⑸ 使用PHP-FPM管理腳本,在編譯包里面已經配置好了,只需要復制到/etc/init.d/中即可
cd /opt/src/php-5.6.17/sapi/fpm/
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
⑹ 啟動php-fpm
service php-fpm start
⑺ 加入開機啟動策略
chkconfig --add php-fpm
chkconfig php-fpm on
2. OpenResty的安裝
參考《OpenResty最佳實踐》,照著做就OK了。
https://moonbingbing.gitbooks.io/openresty-best-practices/content/index.html
⑴ 下載OpenResty
去官網http://openresty.org/下載最新版的openresty,我這里用ngx_openresty-1.9.7.1.tar.gz。
把gz文件拷貝到/opt/src目錄。
⑵ 解壓tar.gz文件
輸入命令tar xzvf ngx_openresty-1.9.7.1.tar.gz,按回車鍵解壓源碼包。若你下載的源碼包版本不一樣,將相應的版本號改為你所下載的即可, 或者直接拷貝源碼包的名字到命令中。此時當前目錄下會出現一個ngx _ openresty-1.9.7.1文件夾。
⑶ cd ngx_openresty-1.9.7.1。
⑷ 了解組件是否默認激活。官網上有個組件列表,我們可以參考,列表中大部分組件默認激活,也有部分默認不激活。 默認不激活的組件,我們可以在編譯的時候將他們激活,下面步驟詳說如何激活。
⑸ 配置安裝目錄及需要激活的組件。使用選項--prefix=installpath,指定其安裝目錄(默認為/usr/local/openresty); 使用選項--with-Components激活組件,--without則是禁止組件,你可以根據自己實際需要選擇with及without。 輸入如下命令,OpenResty將配置安裝在/opt/openresty目錄下(注意使用root用戶),并激活luajit、http iconv module并禁止http redis2 _ module組件。
./configure --prefix=/opt/openresty\
--with-luajit\
--without-http_redis2_module \
--with-http_iconv_module
① 如果出錯誤:
./configure: error: the HTTP rewrite module requires the PCRE library.
安裝: yum install -y pcre-devel
⑹ 在上一步中,最后沒有什么error的提示就是最好的。若有錯誤,最后會顯示error字樣, 具體原因可以看源碼包目錄下的build/nginx-VERSION/objs/autoconf.err文件查看。若沒有錯誤,則會出現如下信息,提示下一步操作:
Type the following commands to build and install:
gmake
gmake install
⑺ 編譯、安裝。根據上一步命令提示,輸入gmake。
輸入gmake install.
⑻ 上面的步驟順利完成之后,安裝已經完成。可以在你指定的安裝目錄下看到一些相關目錄及文件。
⑼ 設置環境變量
為了后面啟動OpenResty的命令簡單一些,不用在OpenResty的安裝目錄下進行啟動,我們通過設置環境變量來簡化操作。 將OpenResty目錄下的nginx/sbin目錄添加到PATH中。就是打開文件 /etc/profile, 在文件末尾加入export PATH=$PATH:/opt/openresty/nginx/sbin,若你的安裝目錄不一樣,則做相應修改。 注意:這一步操作需要重新加載環境變量才會生效,可通過命令source /etc/profile或者重啟服務器等方式實現。
⑽ 啟動openresty:
nginx -p /var/www/html/api/ -c /etc/conf/nginx/nginx.conf
3. MySQL安裝
⑴ 下載MySQL
cd /opt/src/
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz
tar -zxvf mysql-5.6.17.tar.gz
cd mysql-5.6.17
⑵ 我們先配置下MySQL的編譯參數 一般我們就配置下安裝路徑就可以了 如你有特殊配置也可以在安裝之后修改參數也可以的
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql
① 如果報錯: Curses library not found. Please install appropriate package
yum install ncurses-devel
安裝了ncurses-devel包后,刪除CMakeCache.txt
⑶ 編譯需要較長的時間
make
make install clean
⑷ 添加mysql用戶
useradd mysql -M -s /sbin/nologin
cd /opt/mysql/scripts
⑸ 安裝數據庫
./mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
cd /opt/mysql/support-files
⑹ 復制mysql管理腳本
cp mysql.server /etc/rc.d/init.d/mysql
⑺ 復制mysql配置文件
cp my-default.cnf /etc/my.cnf
⑻ 添加mysql服務
chkconfig --add mysql
⑼ 加入開機啟動策略
chkconfig mysql on
service mysql start
4. PHP擴展PDO_MYSQL安裝
參考:http://www.cnblogs.com/qq78292959/p/4084868.html
⑴ 下載pdo_mysql擴展的源碼包。
下載頁面在這里:http://pecl.php.net/package/PDO_MYSQL。
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
⑵ 解壓縮。
tar -zxvf PDO_MYSQL-1.0.2.tgz
⑶ 進入解壓后的目錄,然后執行phpize。
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
⑷ 下面生成makefile
后面的兩個參數必須要添加,一開始我沒有添加,結果分別都提示找不到php-config和mysql的header文件。
./configure --with-php-config=/opt/php/bin/php-config --with-pdo-mysql=/opt/mysql
① MySQLdb ImportError: libmysqlclient.so.18解決方法
ln -s /opt/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
說明:報告此錯誤時,也跟這個問題有關。libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
⑸ 在make之前還要做一個mysql的header文件的軟連接。因為mysql安裝的時候指定了目錄,不做軟連接的話,還是找不到header文件。
ln -s /opt/mysql/include/* /usr/local/include/
⑹ make和make install。
make
make install
之后會提示如下,意思是擴展被安裝到了如下目錄里。
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
⑺ 為了方便,我把pdo_mysql.so文件移動到extensions目錄下。
mv /usr/local/php/lib/php/extensions/no-debug-zts-20100525/pdo_mysql.so
/usr/local/php/lib/php/extensions/
⑻ 隨后就可以修改php.ini文件了
找到; extension_dir = “./”這一行,去掉注釋,并修改路徑。
extension_dir = “/usr/local/php/lib/php/extensions/”
這里經過我測試,發現php只會從該目錄尋找擴展so,而并不尋找該目錄下的子目錄。所以之前我為了統一管理,把so文件都移動到該目錄下。
找到; extension=php_pdo_mysql.dll這一行,去掉注釋,并修改后面的文件名。
extension=pdo_mysql.so
文件名不太一樣,這里要把php_前綴去掉,否則找不到文件。后面的dll是windows下的文件名,我們改成so。
⑼ 最后重啟php-fpm就可以了。用phpinfo()查看發現已經生效了。
5. redis的安裝
(1) 下載一個redis源碼包。
wget http://download.redis.io/releases/redis-2.8.13.tar.gz
把tar.gz文件放到/opt/src目錄.
(2) 解壓后進入目錄:
tar xzvf redis-2.8.19.tar.gz
(3) 編譯:
make
make install
(4) 設置配置文件路徑和簡單配置:
mkdir -p /etc/conf/redis
cp redis.conf/etc/conf/redis
vi /etc/conf/redis/redis.conf
僅修改: daemonize yes (no-->yes)
然后就可以使用該配置文件啟動redis server了:
/usr/local/bin/redis-server /etc/redis/redis.conf
查看redis是否啟動:
ps aux | grep redis
設置開啟自啟動:
echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local
6. redis擴展的安裝
phpredis下載地址:https://github.com/nicolasff/phpredis
unzip phpredis-master.zip
cd phpredis-master
/opt/php/bin/phpize
./configure --with-php-config= /opt/php/bin/php-config
make
make install
vi /opt/php/lib/php.ini
加入
extension=redis.so
保存后重啟Apache,如果是連接的nginx,則需要重啟php-fpm。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。