编译安装
./configure --prefix=/usr/local/nginx
make
sudo make install
默认情况下,Nginx 会被安装在 /usr/local/nginx。通过设定编译选项,你可以改变这个设定
查看安装后的程序版本: /usr/local/nginx/sbin/nginx -v
常用命令
nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。
nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。
nginx -s reopen 重新打开日志文件。
nginx -c filename 为 Nginx 指定一个配置文件,来代替缺省的。
nginx -t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
nginx -v 显示 nginx 的版本。
nginx -V 显示 nginx 的版本,编译器版本和配置参数。
# 启动Nginx
/usr/local/nginx/sbin/nginx
# 从容停止Nginx:
kill -QUIT 主进程号 # 如上一步中的 ps 命令输出的 29151,就是 Nginx的主进程号
# 快速停止Nginx:
kill -TERM 主进程号
# 强制停止Nginx:
pkill -9 nginx
# 平滑重启nginx
/usr/nginx/sbin/nginx -s reload
启动
验证配置是否合法 /usr/local/nginx/sbin/nginx -t
启动Nginx /usr/local/nginx/sbin/nginx
测试 curl localhost (也可以浏览器访问 192.168.3.38:80 测试)
作为web服务器
配置文件如下
http {
server {
location / { # 请求会来匹配这里的url, nginx将选择具有最长前缀来匹配location块(比如/images/ 比 / 长)
root /data/www;
}
location /images/ {
root /data/image;
}
}
}
验证: /usr/local/nginx/sbin/nginx -t
重启: /usr/local/nginx/sbin/nginx -s reload
可能会出现403错误, 可参考 https://blog.csdn.net/onlysunnyboy/article/details/75270533
作为反向代理服务器
http {
server {
location / {
proxy_pass http://localhost:8080;
}
}
}
验证: /usr/local/nginx/sbin/nginx -t
重启: /usr/local/nginx/sbin/nginx -s reload
代理服务器
server {
resolver 192.168.99.100; #可用的DNS
listen 81; #监听的端口
location / {
proxy_pass http://$http_host$request_uri;
}
}
# 未测试
配置文件示例
server {
listen 0.0.0.0:80; # 监听IP地址0.0.0.0和端口80
server_name vhost1.com www.vhost1.com; # 请求的域名
index index.html index.html;
location /images/ {
root /data/image;
}
access_log /var/log/vhost1.com.log;
}
代理设置:
传递给http服务器, 使用proxy_pass http://localhost:8080, 要将请求传递给非HTTP代理服务器,应使用适当的**_ pass指令:
fastcgi_pass 将请求传递给FastCGI服务器
uwsgi_pass 将请求传递给uwsgi服务器
scgi_pass 将请求传递给SCGI服务器
memcached_pass 将请求传递给memcached服务器
简单认证
整体的一个过程就是先用第三方工具设置用户名、密码(其中密码已经加过密),然后保存到文件中,接着在 nginx 配置文件中根据之前事先保存的文件开启访问验证
1.
检查工具是否安装: htpasswd
有输出表示已经安装,如果没有按装,使用如下命令安装:yum -y install httpd-tools
2.
创建用户和密码文件
htpasswd -bc /etc/nginx/.passwd test test@123
增加用户
htpasswd -b /etc/nginx/.passwd test1 test123
删除用户名和密码
htpasswd -D /etc/nginx/.passwd test1
修改密码
htpasswd -nb test test@123
3. nginx配置文件修改
如果想要对整个站点进行加密,将以下语句添加到server段:
auth_basic "Protected Elasticsearch";
auth_basic_user_file /etc/nginx/.htpasswd;
nginx的默认超时时间是60s, 使用时要注意配置