centos 7.0 lnmp安装部署步骤

后续我再把这个文档改成脚本

下载nginx,wget 是一个下载命令-c 是断点续传(不要也这个也可以)

[root@bogon ~]# wget -c http://nginx.org/download/nginx-1.7.9.tar.gz
[root@bogon ~]# ls
anaconda-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 ~]# ls
anaconda-ks.cfg  Downloads  nginx-1.7.9  Pictures   Videos
Desktop    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]# ls
auto     CHANGES.ru  configure  html     Makefile  objs    src
CHANGES  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]# ls
client_body_temp  fastcgi_temp  logs        sbin       uwsgi_temp
conf              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
再次访问 http://192.168.2.128/ 正常

接着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-fpm

vi /etc/php.ini
找到并取消注释,设置成:
cgi.fix_pathinfo=0

vi /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 
<?php
$link=mysql_connect('127.0.0.1','root','123456');
if($link)
echo 'ok';
else
echo "didn't work";
mysql_close();
?>
[root@localhost nginx]# 

 

如果不能浏览网页的话,就直接把防火墙和selinux关闭,应该就可以,怎们在不关闭它们的情况下正常访问的配置我以后再加上来

在实验过程中我遇到了一个问题,那就是我把
location ~ .php$ {
proxy_pass http://127.0.0.1;
}
这一部分给注释了,然后测试php页面时提示错误,页面不可用。后来我返回来把这里注释掉后又恢复正常了。但有时候注释掉又没报错,不知道是不是因为服务没有完全重启启动成功还是为什么。。

 

posted on 2017-10-25 18:06  标配的小号  阅读(140)  评论(0编辑  收藏  举报

导航