在Ubuntu系统中安装nginx时,遇到了一些问题。由于系统不一样,发现很多命令都不能用,有yum rpm 等。
查看是否安装了依赖环境:在Ubuntu系统中想查看是否安装了gcc, pcre,zlib,等依赖环境不能使用rpm查看。在Ubuntu中使用的是dpkg -l | grep 查看,如dpkg -l | grep gcc ,dpkg -l | grep openssl等方式查看是否安装了。
安装依赖:
在Ubuntu系统中,安装时使用yum是不行的
1.参考 https://blog.youkuaiyun.com/somanlee/article/details/69808788 实现了ubuntu下安装nginx时PCRE库、zlib库、OpenSSL库的安装
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl libssl-dev
2.在解决依赖上,参考了 https://blog.youkuaiyun.com/z920954494/article/details/52132125 此博主写的文章(ubuntu下安装nginx时依赖库zlib,pcre,openssl安装方法)
3.在前提依赖都存在后,就可以将nginx的压缩包上传了。解压,执行命令。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/acces.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
这有个注意的地方,在上面代码写的中,必须先去创建 /var/temp/nginx的目录,否则会失败。
4.在编译时候,出现了一个错误信息,src/core/ngx_murmurhash.c: In function ‘ngx_murmur_hash2’:
src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
h ^= data[2] << 16;
如果你的gcc版本是7的话,那么在编译时候就会出这个错误。我解决的办法是通过https://blog.youkuaiyun.com/jaybill/article/details/80164370 此博主分享的办法。编译时忽略Implicit fallthrough error这个错误,详情可以看原博主方法,在解决后,就可以直接make install了。
卸载Ubuntu系统自带的openjdk :sudo apt-get remove openjdk*