背景:每次部署新系统,都要重新配置环境,每次百度nginx配置每次搜好几篇,特意记录一篇自己满意的步骤。
一、联网部署
1、安装依赖环境:
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、安装nginx
访问nginx官网,将下载的nginx解压,并移到安装目录(以nginx-1.25.1.tar.gz为例)
#安装路径 /usr/local/nginx
#解压
tar -zxvf nginx-1.25.1.tar.gz
#改名并移到安装路径
mv nginx-1.25.1 /usr/local/nginx
#转换到nginx文件夹下
cd /usr/local/nginx
配置nginx
./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/log/error.log \
--http-log-path=/usr/local/nginx/log/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-proxy-temp-path=/usr/local/nginx/proxy_temp \
--http-fastcgi-temp-path=/usr/local/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp \
--http-scgi-temp-path=/usr/local/nginx/scgi_temp
编译安装nginx
#这是编译和安装一块进行(&&),也可以分开
make&&make install
运行nginx
#转换到sbin文件夹下
cd /usr/local/nginx
#运行nginx
./sbin/nginx -c ./conf/nginx.conf
如何启动失败,多半是因为nginx路径下没有log文件夹
#创建log文件夹
mkdir /usr/local/nginx/log
编译选项 | 含义 |
---|---|
--prefix= | 指定 Nginx 的安装路径。如果没有指定,默认为 /usr/local/nginx。 |
--sbin-path= | Nginx 可执行文件的安装路径。只能在安装时指定,若没有指定,默认为 <prefix>/sbin/nginx。 |
--conf-path= | 指定 Nginx 配置文件的路径。 |
--error-log-path= | 若 Nginx 配置文件中没有指定错误日志位置,默认错误日志的存放路径。 |
--http-log-path= | 在 nginx.conf 中没有指定 access_log 指令的情况下,默认的访问日志的路径。 |
--pid-path= | 指定 Nginx 的 PID 文件路径。若没有指定,默认为 <prefix>/logs/nginx.pid。 |
--lock-path= | 指定 Nginx 的 lock 文件的路径。 |
--user= | 指定 Nginx 启动时所使用的用户,在 nginx.conf 中若没有配置 user,默认为 nobody。 |
--group= | 指定 Nginx 启动时所使用的组,在 nginx.conf 中若没有配置 group,默认为 nobody。 |
--with-http_ssl_module | 开启 HTTP SSL 模块,使 Nginx 可以支持 HTTPS 请求。这个模块需要提前安装 OpenSSL 服务。 |
--with-http_flv_module | 启用 ngx_http_flv_module 模块。 |
--with-http_stub_status_module | 启用 server status 页。 |
--with-http_gzip_static_module | 启用 gzip 压缩功能。 |
--http-client-body-temp-path= | 设置 http 客户端请求主体临时文件的路径。 |
--http-proxy-temp-path= | 设置 http 代理临时文件的路径。 |
--http-fastcgi-temp-path= | 设置 http fastcgi 临时文件的路径。 |
--with-pcre= | 指定 PCRE 库的源代码目录,PCRE 库支持正则表达式,可以让我们在配置文件 nginx.conf 中使用正则表达式 |
二、设置nginx开机启动
在usr/lib/systemd/system/nginx.service目录下创建脚本文件:
vi /usr/lib/systemd/system/nginx.service
脚本文件内容:
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/var/run/nginx/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
注意:一定要注意脚本中的nginx的路径是不是安装后的nginx的路径!!!
配置完脚本文件之后,重新加载一下系统服务:
systemctl daemo-reload#启动服务:
systemctl start nginx.service
#开机启动:
systemctl enable nginx.service
执行完之后,就可实现开机启动了!!