下载nginx,wget 是一个下载命令-c 是断点续传(不要也这个也可以)
[root@bogon ~]# wget -c http://nginx.org/download/nginx-1.7.9.tar.gz[root@bogon ~]# lsanaconda-ks.cfg Downloads Pictures Videos Desktop initial-setup-ks.cfg nginx-1.7.9.tar.gz Public Documents Music original-ks.cfg Templates[root@bogon ~]# tar zxvf nginx-1.7.9.tar.gz[root@bogon ~]# lsanaconda-ks.cfg Downloads nginx-1.7.9 Pictures VideosDesktop initial-setup-ks.cfg nginx-1.7.9.tar.gz Public Documents Music original-ks.cfg Templates[root@bogon ~]# cd nginx-1.7.9/[root@bogon nginx-1.7.9]# lsauto CHANGES.ru configure html Makefile objs srcCHANGES conf contrib LICENSE man README[root@bogon nginx-1.7.9]# yum -y install gcc-c++ pcre-devel zlib-devel [root@bogon nginx-1.7.9]# ./configure --prefix=/usr/etc/ngin[root@bogon nginx-1.7.9]# make[root@bogon nginx-1.7.9]# make install[root@bogon nginx-1.7.9]# cd /usr/etc/ngin[root@bogon ngin]# lsclient_body_temp fastcgi_temp logs sbin uwsgi_tempconf html proxy_temp scgi_temp[root@bogon ngin]# cd sbin[root@bogon sbin]# ./nginx
现在我们尝试访问网站192.168.2.128(这个是我执行上面这些操作的虚拟系统ip)发现无法打开网站
我们还需要关闭防火墙 systemctl stop firewalld.service #停止firewall 现在应该可以访问了补充一下nginx的重启与停止
nginx -s reload :修改配置后重新加载生效 nginx -s stop :快速停止nginx扩展知识:systemctl disable firewalld.service #禁止firewall开机启动
或者iptables -F也可以,这个命令是清空防火墙规则 如果不想关闭防火墙,则可以给防火墙增加规则,让数据通过80端口 [root@localhost init.d]# firewall-cmd –add-port=80/tcp success 再次访问 正常接着mysql/mariadb的安装: yum install mysql mysql-server (我是使用mariadb的,yum install mariadb mariadb-server,启动systemctl start mariadb服务后,终端输入mysql_secure_installation回车可以修改mariadb密码)
然后php的安装:
yum install php-fpm php (注意php-fpm不能缺少,否则会导致nginx无法正常识别php)
配置、启动 php-fpmvi /etc/php.ini
找到并取消注释,设置成: cgi.fix_pathinfo=0vi /etc/php-fpm.d/www.conf
找到并取消注释,设置成你希望管理 www 应用的用户(我这里统一用用户 bp)
listen.owner =bp listen.group = bp启动 php-fpm 监听服务
systemctl start php-fpm配置、启动 Nginx
更换网站目录所有者为 bp。 root 用户执行
chown bp:bp /usr/etc/ngin/html -Rf从此,以后就用用户 bp 来登录并维护 /usr/etc/ngin/html中的数据
现在我们还需要修改/usr/etc/ngin/conf/nginx.conf
直接分享我的配置 /usr/etc/ngin/conf/nginx.conf 下面只是需要修改的部分,有注释的地方就是需要改的user bp;#把原来的那句注释去掉,修改用户名
events {
}http {
include /etc/nginx/mime.types; server { root /data/wwwroot;location / { index index.html index.htm index.php; #加一个index.php吧 } error_page 404 #去掉注释符号; location ~* \.php$ { #需要去掉这几行的注释符号 fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#改$document_root那里就可以了 include fastcgi_params; }}
}
重启 Nginx 服务器,这步也很关键
测试php是否能用vi /usr/etc/ngin/html/index.php,内容如下
[root@bogon sbin]# yum install php-mysql -y
重启一下php-fpm,然后就可以在phpinfo()里看到mysql了,也就是说我们现在可以使用mysql了(说实在的我的就没有正常显示,我需要先在php文件里打印phpinfo函数,然后才能使用显示succeed,否则一直刷新都是空白)
测试是否能够正常连接数据库,php页面代码如下,正常显示ok
[root@localhost nginx]# cat html/test.php [root@localhost nginx]#
如果不能浏览网页的话,就直接把防火墙和selinux关闭,应该就可以,怎们在不关闭它们的情况下正常访问的配置我以后再加上来
在实验过程中我遇到了一个问题,那就是我把
location ~ .php$ { proxy_pass ; } 这一部分给注释了,然后测试php页面时提示错误,页面不可用。后来我返回来把这里注释掉后又恢复正常了。但有时候注释掉又没报错,不知道是不是因为服务没有完全重启启动成功还是为什么。。