qq群:852283276
b站:主頁
nginx開源**的交叉編譯交叉編譯hi3536上面使用的nginx
交叉編譯 nginx ,基於mipsel平台
交叉編譯 nginx
nginx1.6.3交叉編譯成功的**
nginx 交叉編譯 ( 上 )
nginx 交叉編譯 (下)
nginx 交叉編譯及上傳大檔案處理
openssl交叉編譯問題
為64位armv8架構開發板交叉編譯openssl-1.0.2l
交叉編譯openssl
nginx: download編輯zlib home page
pcre - perl compatible regular expressions
openssl
auto/cc/name
,
ngx_feature_run=yes -> ngx_feature_run=no
編輯auto/types/sizeof
,
$cc
$cc_test_flags
$cc_aux_flags -> gcc $cc_test_flags
$cc_aux_flags
ngx_size=
`$ngx_autotest`
-> ngx_size=4 (armv7)
執行./configure
,
$ ./configure --with-cc=arm-xilinx-linux-gnueabi-gcc --with-cpp=arm-xilinx-linux-gnueabi-g++ --prefix=
$cur_path/zynq-static-$petalinux_ver --with-pcre=
$parent_path/pcre-8.43 --with-zlib=
$parent_path/zlib-1.2.11 --with-openssl=
$parent_path/openssl-1.0.2r --user=root --group=root
編輯objs/makefile
,更新pcre和openssl的編譯命令,
$ ./configure --disable-shared -> ./configure --disable-shared --host=arm-xilinx-linux-gnueabi
$ ./config --prefix=/home/zc/fdk_develop/package/openssl-1.1.0i/.openssl no-shared no-threads -> ./config --prefix=/home/zc/fdk_develop/package/openssl-1.1.0i/.openssl no-shared no-threads no-asm --cross-compile-prefix=arm-xilinx-linux-gnueabi-
去掉openssl路徑下的makefile的-m64選項,
$ sed -i "s/-m64//g" makefile
編譯,
$ make
$ make
install
生成的檔案,nginx應用在sbin下,大小為6mb,
zc@ubuntu:~/fdk_develop$ ls -l package/nginx-1.14.2/zynq-static-2015.2.1/
total 16
drwxrwxr-x 2 zc zc 4096 apr 26 09:37 conf
drwxr-xr-x 2 zc zc 4096 apr 26 09:37 html
drwxrwxr-x 2 zc zc 4096 apr 26 09:37 logs
drwxrwxr-x 2 zc zc 4096 apr 26 09:37 sbin
armv7,
nginx: [emerg]
"worker_processes" directive invalid value in /usr/nginx/conf
命令列表,
root@zynqmp:~# ./nginx/sbin/nginx -h
nginx version: nginx/1.14.2
usage: nginx [-?hvvttq]
[-s signal]
[-c filename]
[-p prefix]
[-g directives]
options:
-?,-h : this help
-v : show version and exit
-v : show version and configure options then
exit
-t :
test configuration and exit
-t :
test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix :
set prefix path (default: /home/zc/fdk_develop/package/nginx-1.14.2/zynqmp-static-2018.2/)
-c filename :
set configuration file
(default: conf/nginx.conf)
-g directives :
set global directives out of configuration file
嵌入式平台不能用start來啟動nginx,下面這種方法也不會阻塞終端,
root@zynqmp:~/nginx# ./sbin/nginx -p .
root@zynqmp:~/nginx# ps
pid user time command
... 2118 root 0:00 nginx: master process ./sbin/nginx -p .
2119 nobody 0:00 nginx: worker process
2120 root 0:00 ps
執行之後產生了若干temp資料夾,
root@zynqmp:~/nginx# ls -l
total 36
drwx------ 2 nobody root 4096 jan 26 12:12 client_body_temp
drwxrwxr-x 2 1000 1000 4096 jan 26 12:48 conf
drwx------ 2 nobody root 4096 jan 26 12:12 fastcgi_temp
drwxr-xr-x 2 1000 1000 4096 jan 26 12:48 html
drwxrwxr-x 2 1000 1000 4096 apr 28 2019 logs
drwx------ 2 nobody root 4096 jan 26 12:12 proxy_temp
drwxrwxr-x 2 1000 1000 4096 jan 26 12:48 sbin
drwx------ 2 nobody root 4096 jan 26 12:12 scgi_temp
drwx------ 2 nobody root 4096 jan 26 12:12 uwsgi_temp
root@zynqmp:~# ./nginx/sbin/nginx -p ./nginx -s reload
編譯 交叉編譯
交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...
交叉編譯(2) 交叉編譯鏈
什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...
交叉編譯 Go 交叉編譯 跨平台編譯
golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式 cgo enabled 0 goos linux goarch amd64 go build main.go cgo enabled 0 goos windows goarch amd64 go build main.go cgo ...