访问http://nginx.org/download/获得以下的网页html
从上面能够看出Nginx官网提供了三个类型的版本nginx
咱们安装的时候注意在官网选择安装最近的Stable的版本,这里咱们选择的是nginx-1.18.0。web
源码编译安装正则表达式
gcc pcre zlib openssl
# yum -y install gcc
# yum install -y pcre pcre-devel
# yum install -y zlib zlib-devel
# yum -y install openssl openssl-devel
# rpm -qa gcc* gcc-8.3.1-5.el8.0.2.x86_64 # rpm -qa pcre* pcre-utf16-8.42-4.el8.x86_64 pcre2-10.32-1.el8.x86_64 pcre-8.42-4.el8.x86_64 pcre-utf32-8.42-4.el8.x86_64 pcre-cpp-8.42-4.el8.x86_64 pcre2-utf32-10.32-1.el8.x86_64 pcre2-devel-10.32-1.el8.x86_64 pcre-devel-8.42-4.el8.x86_64 pcre2-utf16-10.32-1.el8.x86_64 # rpm -qa zlib* zlib-devel-1.2.11-16.el8_2.x86_64 zlib-1.2.11-16.el8_2.x86_64 # rpm -qa openssl* openssl-1.1.1c-15.el8.x86_64 openssl-pkcs11-0.4.10-2.el8.x86_64 openssl-libs-1.1.1c-15.el8.x86_64 openssl-devel-1.1.1c-15.el8.x86_64
# wget http://nginx.org/download/nginx-1.18.0.tar.gz
# tar -zxvf nginx-1.18.0.tar.gz
具体的配置参数看这里shell
须要强调的参数
--prefix=pathvim
defines a directory that will keep server files. This same directory will also be used for all relative paths set by configure (except for paths to libraries sources) and in the nginx.conf configuration file. It is set to the /usr/local/nginx directory by default.浏览器
这是设置Nginx安装路径的参数,在nginx.conf配置文件中,配置设置的全部相对路径(库源路径除外)也将使用同一个目录。
默认设置为/usr/local/nginx目录。须要修改Nginx安装目录的能够经过设置这个参数来达到目的。
我这里使用默认的目录,不设置该参数。
--with-http_ssl_module安全
enables building a module that adds the HTTPS protocol support to an HTTP server. This module is not built by default. The OpenSSL library is required to build and run this module.运维
添加HTTPS协议支持模块,该模块默认不参与编译构建,须要手动开启。
因为目前主流的网站都支持Https协议,因此这里开启该模块。curl
# pwd /soft/nginx-1.18.0 # ls auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src # ./configure --with-http_ssl_module
执行./configure ***
命令后终端上会有些输出。
输出的信息里会包含依赖的组件是否完整,若是不完整则须要另行安装。
输出的信息里会包含配置文件目录信息,日志文件目录信息等一些很重要的咱们作运维依赖的信息。
# ./configure --with-http_ssl_module # 省略若干行 Configuration summary + using system PCRE library + using system OpenSSL library + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
# make # 省略若干行 sed -e "s|%%PREFIX%%|/usr/local/nginx|" \ -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \ -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \ -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \ < man/nginx.8 > objs/nginx.8 make[1]: Leaving directory `/soft/nginx-1.18.0'
# make install
# cd /usr/local/nginx/ # ls conf html logs sbin # sbin/nginx
curl
的方式# curl localhost <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
在浏览器地址栏输入Nginx所在主机的IP,出现以下界面表示安装启动成功。
# ps -ef | grep nginx root 1253 1 0 10:54 ? 00:00:00 nginx: master process ./nginx nobody 1254 1253 0 10:54 ? 00:00:00 nginx: worker process root 1267 56707 0 10:54 pts/4 00:00:00 grep nginx
能够看到Nginx的master和worker进程
# vim /etc/profile
# set nginx environment export NGINX_HOME=/usr/local/src/nginx export PATH=${NGINX_HOME}/sbin:$PATH
# source /etc/profile
验证环境变量是否生效
# pwd /soft # nginx -v nginx version: nginx/1.18.0
# nginx -h nginx version: nginx/1.18.0 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: /usr/local/nginx/) -c filename : set configuration file (default: conf/nginx.conf) -g directives : set global directives out of configuration file
# nginx
# nginx -s reload
# nginx -s stop
或者查进程号以后 kill -9 pid
。
星辰大海,点滴为途。