| yum-yinstall\ |
| pcre-devel\ |
| zlib-devel//安装Nginx必备插件 |
| useradd-M-s/sbin/nologinnginx//创建程序用户nginx,不能登录,没有家目录 |
|
| tarxzvfnginx-1.13.9.tar.gz |
| cdnginx-1.13.9 |
|
| ./configure\ |
| --prefix=/usr/local/nginx\ |
| --user=nginx\ |
| --group=nginx\ |
| --with-http_stub_status_module//日志分析模块 |
|
| make&&makeinstall编译及安装 |
|
| ln-s/usr/local/nginx/sbin/nginx/usr/local/sbin///为nginx可执行程序做软连接,让系统可识别 |
| nginx-t//检查nginx配置文件语法 |
| nginx//启动服务 |
| killall-1nginx//安全重启 |
| killall-3nginx//停止服务 |
|
| 下面制作nginx系统服务管理脚本 |
| vi/etc/init.d/nginx |
| #!/bin/bash |
| #chkconfig:359920//3,5级别自动运行,第99个进程开启,第20个进程结束 |
| #description:NginxServiceControlScript |
| PROG="/usr/local/nginx/sbin/nginx" |
| PIDF="/usr/local/nginx/logs/nginx.pid" |
| case"$1"in |
| start) |
| $PROG |
| ;; |
| stop) |
| kill-sQUIT$(cat$PIDF) |
| ;; |
| restart) |
| $0stop |
| $0start |
| ;; |
| reload) |
| kill-sHUP$(cat$PIDF) |
| ;; |
| *) |
| echo"Usage:$0{start|stop|restart|reload}" |
| exit1 |
| esac |
| exit0 |
|
| chmod+x/etc/init.d/nginx//给管理脚本添加执行权限 |
| chkconfig--addnginx//将nginx添加到chkconfig系统管理工具中 |
|
| 下面对nginx配置文件进行初始配置 |
| vi/usr/local/nginx/conf/nginx.conf |
| usernginxnginx;//修改nginx启动进程的属主和属组 |
| worker_processes1;//CPU核数,几核便设为几 |
| error_loglogs/error.loginfo;//修改错误日志的级别 |
| 日志级别共有这几种:debuginfonoticewarnerrorcrit其中规则是向上记录,即info级别的日志会涵盖noticewarnerrorcrit,低级的包涵高级的 |
| events{ |
| useepoll;//新增此行,使用epoll模式运行,默认使用的是select/poll模式 |
| worker_connections1024;//表示1个进程允许1024个连接,如果设置超过1024则需要修改ulimit上限,否则报错 |
| } |
| log_formatmain//定义日志格式把前面的#号去掉 |
配置完之后重启,现在nginx服务器已经可以支持访问
|
|
|
|
|
|
|
|
|
|
| ulimit-n65500//查看和更改系统本地打开资源数 |
| ulimit-n65500>>/etc/rc.local |
|
| 下面我们可以配置nginx自带的日志统计模块 |
| vi/usr/local/nginx/conf/nginx.conf |
| location~/status{ |
| stub_statuson;//日志统计模块开启 |
| access_logoff; |
| }//在server模块里的error_page上面增加 |
| servicenginxreload |
| http://IP/status//当前的活动连接数,已处理的连接数,成功的TCP握手次数,已处理的请求数。 |
|
|
|
|
|
|
| 可以配置nginx的访问控制功能了 |
| yuminstallhttpd-tools//安装apache的工具,借助工具创建访问用户 |
| htpasswd-c/usr/local/nginx/passwd.dbjack//创建数据库验证文件,并把jack用户添加进去 |
| chmod400/usr/local/nginx/passwd.db//提高数据安全性 |
| chownnginx/usr/local/nginx/passwd.db//更改属主 |
|
| vi/usr/local/nginx/conf/nginx.conf |
| location/{ |
| roothtml; |
| indexindex.htmlindex.htm; |
| allow192.168.80.0/24;//允许80段的访问该主页 |
| denyall; |
| auth_basic"secret"; |
| auth_basic_user_file/usr/local/nginx/passwd.db;//注意这边的文件必须与上面创建的数据库验证文件统一 |
| } |
|
| servicenginxrestart |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 再次访问需要输入用户名和密码 |
|
| 下面搭建虚拟主机 |
| 1.基于域名的虚拟主机 |
| vi/usr/local/nginx/conf/nginx.conf//在最后一行上面插入 |
| server{ |
| listen80; |
| server_namewww.aa.com;//虚拟主机名 |
| charsetutf-8; |
| access_loglogs/aa.access.logmain; |
| location/{ |
| root/var/www/aa; |
| indexindex.htmlindex.htm; |
| error_page500502503504/50x.html; |
| location=/50x.html{ |
| roothtml; |
| } |
| } |
| } |
| server{ |
| listen80; |
| server_namewww.bc.com; |
| charsetutf-8; |
| access_loglogs/bc.access.logmain; |
| location/{ |
| root/var/www/bc; |
| indexindex.htmlindex.htm; |
| error_page500502503504/50x.html; |
| location=/50x.html{ |
| roothtml; |
| } |
| } |
| } |
| mkdir/var/www/aa-p |
| mkdir/var/www/bc |
| vi/var/www/aa/index.html |
| vi/var/www/bc/index.html//编辑主页测试 |
| 在两个虚拟主机的网站目录添加主页 |
| 下面搭一个DNS服务器进行域名解析,这边自己搭过,不做详细说明 |
| 下面进行测试 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2.基于端口的虚拟主机 |
| vi/usr/local/nginx/conf/nginx.conf |
| listen192.168.80.181:80;//修改虚拟主机的配置文件 |
| listen192.168.80.181:8080; |
| http://192.168.80.181:80//访问 |
|
|
|
|
|
|
| http://192.168.80.181:8080/ |
|
|
|
|
|
|
|
| 安装PHP |
| yum-yinstall\ |
| libjpeg\ |
| libjpeg-devel\ |
| libpnglibpng-devel\ |
| freetypefreetype-devel\ |
| libxml2\ |
| libxml2-devel\ |
| zlibzlib-devel\ |
| curlcurl-devel\ |
| opensslopenssl-devel//安装需要支持的插件 |
|
|
| tarxjvfphp-7.1.10.tar.bz2 |
| cdphp-7.1.10//解压 |
|
| ./configure\ |
| --prefix=/usr/local/php\ |
| --with-mysql-sock=/usr/local/mysql/mysql.sock\ |
| --with-mysqli\ |
| --with-zlib\ |
| --with-curl\ |
| --with-gd\ |
| --with-jpeg-dir\ |
| --with-png-dir\ |
| --with-freetype-dir\ |
| --with-openssl\//配置协作 |
| --enable-mbstring\ |
| --enable-xml\ |
| --enable-session\ |
| --enable-ftp\ |
| --enable-pdo\ |
| --enable-tokenizer\ |
| --enable-zip\//支持压缩 |
| --enable-fpm//支持动态页面fpm功能 |
|
| cpphp.ini-development/usr/local/php/lib/php.ini//复制php配置文件模板作为php配置文件 |
| vi/usr/local/php/lib/php.ini//编辑php配置文件 |
| mysqli.default_socket=/usr/local/mysql/mysql.sock//编辑mysql的sock文件位置 |
| date.timezone=Asia/Shanghai//选择时区 |
|
| /usr/local/php/bin/php-m//验证安装的模块 |
|
| -----------配置及优化FPM模块-------- |
| cd/usr/local/php/etc/ |
| cpphp-fpm.conf.defaultphp-fpm.conf//复制php的fpm模块的配置文件模板为配置文件。php只识别php-fpm.conf为配置文件 |
| cd/usr/local/php/etc/php-fpm.d/ |
| cpwww.conf.defaultwww.conf//复制fpm的www配置文件模板为配置文件,fpm只识别www.conf的配置文件 |
|
| cd/usr/local/php/etc/ |
| viphp-fpm.conf//配置fpm模块 |
| pid=run/php-fpm.pid//将分号去掉 |
| ;user=nginx |
| ;group=nginx//添加user和group |
|
| /usr/local/php/sbin/php-fpm-c/usr/local/php/etc/php.ini//启动fpm模块 |
| netstat-anpt|grep9000 |
| ln-s/usr/local/php/bin/*/usr/local/bin///将php的可执行程序放到系统可识别环境中便于执行 |
| psaux|grep-c"php-fpm"//统计进程数 |
|
| -----更新启动脚本,让fpm模块也可进行启动管理 |
| vi/etc/init.d/nginx |
| #!/bin/bash |
| #chkconfig:359920 |
| #description:NginxServiceControlScript |
| PROG="/usr/local/nginx/sbin/nginx" |
| PIDF="/usr/local/nginx/logs/nginx.pid" |
| PROG_FPM="/usr/local/php/sbin/php-fpm" |
| PIDF_FPM="/usr/local/php/var/run/php-fpm.pid" |
| case"$1"in |
| start) |
| $PROG |
| $PROG_FPM |
| ;; |
| stop) |
| kill-sQUIT$(cat$PIDF) |
| kill-sQUIT$(cat$PIDF_FPM) |
| ;; |
| restart) |
| $0stop |
| $0start |
| ;; |
| reload) |
| kill-sHUP$(cat$PIDF) |
| &nbs
|