linux nginx 安装配置
1、下载Nginx及相关组件
wget http://nginx.org/download/nginx-1.6.2.tar.gz
wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
2、安装c++编译环境,如已安装可略过
yum install gcc-c++
出现确认,输入Y
3、安装Nginx及相关组件
openssl安装
tar -zxvf openssl-fips-2.0.10.tar.gz
cd openssl-fips-2.0.10
./config && make && make install
zlib安装
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure && make && make install
pcre安装
tar zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure && make && make install
nginx安装
tar zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure && make && make install
在deepin安装时出现一个错误
查询后,发现这个错误是gcc 中增加的一个函数导致的.
解决方案,增加 --with-cc-opt="-Wno-error" ,这个选项,然后,从新配置编译
查看nginx安装路径
whereis nginx
查看nginx版本
/usr/local/nginx/sbin/nginx -v
启动nginx
/usr/local/nginx/sbin/nginx
浏览器输入IP,出现下面界面即为安装成功
关闭nginx
/usr/local/nginx/sbin/nginx -s stop
nginx命令
启动: /usr/local/nginx/sbin/nginx
停止: /usr/local/nginx/sbin/nginx -s stop
重载配置文件: /usr/local/nginx/sbin/nginx -s reload
重启: /usr/local/nginx/sbin/nginx -s reopen
4、配置前端项目
1、把项目放入/**/nginx/html 目录下
2、config配置
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html/ess-web/; #ess-web 为打包的项目文件夹
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /cors/{ #“cors” 为指向标识
proxy_pass http://192.168.10.22:8080/; #“cors" 所指向的IP路径
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
配置多个前端项目:
location /gongchengA/ {
alias /app/nginx/frontier/gongchengA/;
index index.html ;
add_header X-Frame-Options SAMEORIGIN ;
}
location /gongchengB/ {
alias /app/nginx/frontier/gongchengB/;
index index.html ;
add_header X-Frame-Options SAMEORIGIN ;
}
5、开机自启
新建配置文件
/usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/webserver/nginx/sbin/nginx
ExecReload=/usr/local/webserver/nginx/sbin/nginx -s reload
ExecStop=/usr/local/webserver/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable xxx.service
设置某个服务开机启动systemctl disable xxx.service
设置取消某个服务开机启动systemctl stop xxx.service
关闭某个服务systemctl status xxx.service
查看某个服务状态6、配置Nginx的监控选项:
配置文件路径:/usr/local/nginx/nginx.conf
添加如下代码:
#设定Nginx状态访问地址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
#auth_basic_user_file conf/htpasswd;
}
配置完成重启Nginx,命令:/usr/local/nginx/nginx -s reload
7、状态查看
配置完成后在浏览器中输入http://192.168.0.194/NginxStatus查看,显示信息如下:
8、 参数说明
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了107520387个连接 , 成功创建107497834次握手, 总共处理了639121056个请求
每个连接有三种状态waiting、reading、writing
reading —读取客户端的Header信息数.这个操作只是读取头部信息,读取完后马上进入writing状态,因此时间很短。
writing — 响应数据到客户端的Header信息数.这个操作不仅读取头部,还要等待服务响应,因此时间比较长。
waiting — 开启keep-alive后等候下一次请求指令的驻留连接.
正常情况下waiting数量是比较多的,并不能说明性能差。反而如果reading+writing数量比较多说明服务并发有问题。
9、补充:
查看Nginx并发进程数:ps -ef | grep nginx | wc -l
查看Web服务器TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'