mac 编译 nginx stream

上周搭建的gitlab对于ssh clone存在问题,主要是nginx对于stream默认是不支持的,需要自己重新编译。

对于ubuntu,按照网上教程,还是比较简单的,但是在mac下编译问题会稍微复杂一点,但是网上解决方法也很详尽,
细心一点,多试几次问题也不大。

一般mac的openssl都是比较老的,且存在漏洞,所有要下最新的指定编译就好了
./configure --prefix=/usr/local/nginx --with-stream --with-stream_ssl_module --with-http_stub_status_module --with-openssl=/usr/local/nginx/openssl-1.0.2r

另一个错误类似 ld: symbol(s) not found for architecture x86_64

要在 ./configure 之后
然后在objs里,打开Makefile,找到
./config --prefix=xxx.openssl no-shared

把该段的 ./config 改成 ./Configure darwin64-x86_64-cc 其他后面参数不变,保存

使用方法如下

1
2
3
4
5
6
7
8
9
10
stream {
upstream ssh {
server 192.168.1.12:22;
}
server {
listen 12345;
proxy_pass ssh;

}
}