中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Openresty+YII2.0下開發RestfulAPI系列1:環境安裝

發布時間:2020-06-20 03:47:00 來源:網絡 閱讀:854 作者:neptunecai 欄目:web開發

說明:OpenResty 是一個基于Nginx與Lua的高性能web平臺,但lua語言在寫web程序方面有很多不足,比如基礎庫缺乏,寫web程序太費精力。PHP語言簡單快捷,容易上手,有很多快速開發web程序的各類框架。如果能有這么一個框架:在需要高性能的地方用lua,在業務邏輯復雜的地方用web。這樣,既可以快速開發web網站,又能提高系統性能。

本系列總共6篇文章,將一步步說明怎么搭建環境,怎么開發restful API,lua框架villina的簡單說明,一些小技巧等。

摘要:centos6.5下用源碼安裝php5.6openrestymysql5.6pdo_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則是禁止組件,你可以根據自己實際需要選擇withwithout 輸入如下命令,OpenResty將配置安裝在/opt/openresty目錄下(注意使用root用戶),并激活luajithttp 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-configmysqlheader文件。

./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之前還要做一個mysqlheader文件的軟連接。因為mysql安裝的時候指定了目錄,不做軟連接的話,還是找不到header文件。

ln -s /opt/mysql/include/* /usr/local/include/

 

 makemake 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_前綴去掉,否則找不到文件。后面的dllwindows下的文件名,我們改成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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇江市| 平定县| 平江县| 休宁县| 县级市| 碌曲县| 沾益县| 广宁县| 肇庆市| 娄底市| 常州市| 西乌珠穆沁旗| 霸州市| 大厂| 万载县| 阜康市| 阳信县| 富民县| 桐庐县| 永福县| 都兰县| 永泰县| 陆丰市| 库尔勒市| 长岭县| 黑龙江省| 博爱县| 衡山县| 大关县| 宜兰县| 青海省| 巴中市| 张家界市| 思南县| 西昌市| 桂平市| 南陵县| 溆浦县| 尚志市| 丰宁| 达孜县|