查看“Nginx on centos7”的源代码
←
Nginx on centos7
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=base= <pre> 例如我的安装目录是/usr/local/nginx 修改配置后重新加载生效 /usr/local/nginx/sbin/nginx -s reload 重新打开日志文件 /usr/local/nginx/sbin/nginx -s reopen 测试nginx配置文件是否正确 /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 启动nginx /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 快速停止nginx /usr/local/nginx/sbin/nginx -s stop 完整有序的停止nginx /usr/local/nginx/sbin/nginx -s quit 注:stop和quit的区别在于 quit是一个优雅的关闭方式,Nginx在退出前完成已经接受的连接请求 Stop 是快速关闭,不管有没有正在处理的请求。 其他的停止nginx 方式: ps -ef | grep nginx kill -QUIT 主进程号 :从容停止Nginx kill -TERM 主进程号 :快速停止Nginx pkill -9 nginx :强制停止Nginx 平滑重启nginx: kill -HUP 主进程号 为了方便,现将nginx服务添加至systemctl 1.修改nginx配置文件,开启pid pid /var/run/nginx.pid; 2.通过上述方式关闭nginx服务 3.配置服务,在/usr/lib/systemd/system/nginx.service文件,vim编辑如下 vi /usr/lib/systemd/system/nginx.service [Unit] Description=nginx - high performance web server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/var/run/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 [Unit]部分主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别 [Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里Type=forking是后台运行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令,ExecReload为重启命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独立的临时空间,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错! [Install]部分是服务安装的相关设置,可设置为多用户的 服务脚本按照上面编写完成后,以754的权限保存在/usr/lib/systemd/system目录下 然后执行(修改或新增文件需要执行以下语句才能生效) systemctl daemon-reload 这时就可以利用systemctl进行配置了 systemctl start/stop/reload/quit nginx.service 若发生报错,可通过systemctl status nginx.service查看失败原因 systemctl enable nginx.service 开机自启动 </pre> =upstream= <pre> upstream read.zhaitua.com { server 172.18.140.166:1080 weight=5; # server 172.18.140.165:1080 weight=1; keepalive 32; } </pre> =troubleshooting= 原因: 502 GAT away Php-cgi进程挂掉或者是没有cgi进程 504 timeout Nginx请求不到php-cgi进程,超时 解决方法: 思路: 502错误和php-fpm.conf配置文件有关系,网上很多教程都说了,一般就设置以下几个选项 [https://blog.csdn.net/hsw_linux/article/details/82291010 nginx常见问题处理] [https://blog.csdn.net/u010391029/article/details/46884107 Nginx 502 Bad Gateway 错误的原因及解决方法] [https://www.cnblogs.com/pengrj/p/8685551.html nginx故障及处理] [https://yq.aliyun.com/articles/80379 Nginx常见故障 400 502 504] [https://zhuanlan.zhihu.com/p/32469287 PHP与NGINX 499、502问题处理] [https://www.centos.bz/2015/04/handle-nginx-write-io-problem/ Nginx写IO占用高故障处理] =complate= <pre> ./configure --prefix=/data/apps/nginx --user=www --group=www --error-log-path=/data/logs/nginx/error.log --http-log-path=/data/logs/nginx/access.log --pid-path=/data/apps/nginx/nginx\ .pid --lock-path=/data/apps/nginx/nginx.lock --with-http_stub_status_module --with-pcre=/root/rpmbuild/SOURCES/pcre-8.21 --with-zlib=/root/rpmbuild/SOURCES/zlib-1.2.3 --with-openss\ l=/root/rpmbuild/SOURCES/openssl-1.0.1p --without-poll_module --with-http_ssl_module --with-http_gzip_static_module --without-poll_module --without-http_ssi_module --without-http_\ userid_module --without-http_geo_module --without-http_memcached_module --without-http_map_module --with-http_realip_module --without-mail_pop3_module --without-select_module --witho\ ut-mail_imap_module --without-mail_smtp_module --without-http_scgi_module --with-cc-opt='-O3' --with-ipv6; </pre> [https://nginx.org/en/docs/configure.html Building nginx from Sources] [https://docs.nginx.com/nginx/admin-guide/ admin-guide] [[Nginx优化]] =yum install= <pre> RHEL/CentOS Install the prerequisites: sudo yum install yum-utils To set up the yum repository, create the file named /etc/yum.repos.d/nginx.repo with the following contents: [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true By default, the repository for stable nginx packages is used. If you would like to use mainline nginx packages, run the following command: sudo yum-config-manager --enable nginx-mainline To install nginx, run the following command: sudo yum install nginx </pre> =see also= https://nginx.org/en/linux_packages.html [https://www.runoob.com/w3cnote/nginx-proxy-balancing.html Nginx 反向代理与负载均衡详解] [https://www.centos.bz/2017/08/centos-7-0-install-lamp-apache-php-mariadb/ CentOS 7.0 yum安装配置LAMP服务器(Apache+PHP+MariaDB)] [[category:ops]] [[category:nginx]]
返回至
Nginx on centos7
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息