ubuntu18下的nginx安装

在安装nginx时,一般我们都需要先装pcre, zlib以及openssl,前者为了重写rewrite,后者为了gzip压缩,openssl可以支持https协议。

1.选定源码目录

可以是任何目录,本文选定的是/usr/local/src

cd /usr/local/src

2.安装PCRE库

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:(最好使用root用户进行安装)

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz 
tar -zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make
make install

3.安装zlib库
http://zlib.net/zlib-1.2.8.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

cd /usr/local/src

wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
4.安装openssl
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.2.1.tar.gz
tar -zxvf openssl-1.2.1.tar.gz
cd openssl-1.2.1
./config(注意) && make && make install
5.安装nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.7.1.tar.gz
tar -zxvf nginx-1.7.1.tar.gz
cd nginx-1.7.1

./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.35 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-openssl=/usr/local/src/openssl-1.2.1

make
make install
--with-pcre=/usr/src/pcre-8.35 指的是pcre-8.35 的源码路径
--with-zlib=/usr/src/zlib-1.2.8 指的是zlib-1.2.8 的源码路径
--with-openssl=/usr/local/src/openssl-1.2.1 指的是openssl的源码路径

6. 启动Nginx     

/usr/local/nginx/nginx #不指定配置文件地址
/usr/local/nginx/nginx -c /usr/local/nginx/nginx.conf #指定配置文件地址

      默认情况下会使用80端口,所以我们要确保系统的 80 端口没被其他程序占用;万一已经被其他程序占用的话,可以通过修改cong/nginx.conf将默认的监听端口由80修改为其它,如8080。运行/usr/local/nginx/nginx 命令来启动 Nginx,启动后ps -aux|grep nginx查看,master和work进程是否都已经启动。netstat -anp|grep 80看80端口是否被nginx监听。        若都正常,则可打开浏览器访问此机器的ip,如192.168.1.101/index.html,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。


      当然,我们也可以修改配置文件指定域名,如:

          

6. 停止Nginx   

sudo kill `cat /usr/local/nginx/nginx.pid`

其实就是kill掉master进程而已

附:nginx编译选项

    make是用来编译的,它从Makefile中读取指令,然后编译。
    make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
    configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。nginx的configure命令支持以下参数:
   --prefix=path    定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。
   --sbin-path=path 设置nginx的可执行文件的路径,默认为  prefix/sbin/nginx.
   --conf-path=path  设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf.
   --pid-path=path  设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid.
   --error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默认情况下,文件名 为prefix/logs/error.log.
   --http-log-path=path  设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为prefix/logs/access.log.
   --user=name  设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的用户名是nobody。
   --group=name  设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。
   --with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
   --with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
   --without-http_gzip_module — 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
   --without-http_rewrite_module  不编译重写模块。编译并运行此模块需要PCRE库支持。
   --without-http_proxy_module — 不编译http_proxy模块。
   --with-http_ssl_module — 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章