热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7.0lnmp成功安装过程(很乱)

下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2

下载nginx

[root@localhost src]# wget http://nginx.org/download/nginx-1.7.9.tar.gz
--2015-01-24 12:55:21-- http://nginx.org/download/nginx-1.7.9.tar.gz
正在解析主机 nginx.org (nginx.org)... 206.251.255.63
正在连接 nginx.org (nginx.org)|206.251.255.63|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:827263 (808K) [application/octet-stream]
正在保存至: “nginx-1.7.9.tar.gz”100%[======================================>] 827,263 154KB/s 用时 6.5s2015-01-24 12:55:28 (125 KB/s) - 已保存 “nginx-1.7.9.tar.gz” [827263/827263])[root@localhost src]# ls
nginx-1.7.9.tar.gz

解压压缩包 .tar.gz

解压压缩包 到指定的目录 

-C /usr/local/bin
注意大小写的区别
 -c或--create   建立新的备份文件。
  -C<目的目录>或--directory&#61;<目的目录>   切换到指定的目录。

[root&#64;localhost src]# tar zxvf nginx-1.7.9.tar.gz -C /usr/local/bin

结果查看

[root&#64;localhost src]# cd /usr/local/bin
[root&#64;localhost bin]# ls
nginx-1.7.9

进入解压目录查看

 

 

还需要安装下面这些东西&#xff0c;否则./configure 会报错

[root&#64;localhost nginx-1.7.9]# yum -y install gcc-c&#43;&#43; pcre-devel zlib-devel


 

下面开始编译nginx 最简单 最少的编辑

[root&#64;localhost nginx-1.7.9]# ./configure --prefix&#61;/usr/etc/ngin

需要再执行下面的make 和make install ,/usr/etc/ngin里面才会有东西

make

make install

启动nginx

[root&#64;localhost nginx-1.7.9]# cd /usr/etc
[root&#64;localhost etc]# ls
ngin
[root&#64;localhost etc]# cd ngin
[root&#64;localhost ngin]# ls
conf html logs sbin
[root&#64;localhost ngin]# cd sbin
[root&#64;localhost sbin]# ls
nginx
[root&#64;localhost sbin]# ./nginx

查看进程  查看nginx是否启用

[root&#64;localhost sbin]# ps -ef|grep nginx
root 13536 1 0 14:14 ? 00:00:00 nginx: master process ./nginx
nobody 13537 13536 0 14:14 ? 00:00:00 nginx: worker process
root 13540 2281 0 14:16 pts/0 00:00:00 grep --color&#61;auto nginx

lsof -i:80 安装root用户的才是 默认的nobody需要删除

[root&#64;localhost sbin]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 13536 root 6u IPv4 32434 0t0 TCP *:http (LISTEN)
nginx 13548 nobody 6u IPv4 32434 0t0 TCP *:http (LISTEN)

 

 

 

重启nginx

[root&#64;localhost sbin]# ./nginx -s reload

查看iptables表的规则 是否限制了80等、

[root&#64;localhost sbin]# iptables -nL --line-number

 

 

现在访问http://192.168.1.103/ 无法访问 不知道什么情况额~ IP 肯定没错啊

[root&#64;localhost sbin]# ip addr
1: lo:
<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: enp2s0:
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 6c:62:6d:73:e6:4a brd ff:ff:ff:ff:ff:ffinet 192.168.1.103/24 brd 192.168.1.255 scope global enp2s0valid_lft forever preferred_lft foreverinet6 fe80::6e62:6dff:fe73:e64a/64 scope linkvalid_lft forever preferred_lft forever

 

后记&#xff1a;

查询一个包是否被安装
# rpm -q

列出所有被安装的rpm package
# rpm -qa

[root&#64;localhost sbin]# rpm -qa

 lsof 安装 查询端口启用情况 可以查询 nginx是否启用

具体使用

[root&#64;localhost sbin]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 13536 root 6u IPv4 32434 0t0 TCP *:http (LISTEN)
nginx 13548 nobody 6u IPv4 32434 0t0 TCP *:http (LISTEN)

 

[root&#64;localhost sbin]# yum -y install lsof

使用vi命令 

不保存退出:q!

保存退出&#xff1a;wq

插入数据    i

跳转到命令行   比如插入修改数据完成后 ESC 后输入 :wq  保存退出

 

[root&#64;localhost /]# find -name nginx 查看根目录下的所有nginx
./usr/etc/ngin/sbin/nginx
./usr/local/bin/nginx-1.7.9/objs/nginx
[root&#64;localhost /]# yum remove nginx 尝试 删除默认yum安装的nginx
已加载插件&#xff1a;fastestmirror
参数 nginx 没有匹配
不删除任何软件包

 

查询80端口 

netstat -ano | grep 80 没有就先安装

yum -y install net-tools

[root&#64;localhost sbin]# yum -y install net-tools[root&#64;localhost sbin]# netstat -ano | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 192.168.1.103:38036 114.247.56.117:80 TIME_WAIT timewait (0.00/0/0)
unix 3 [ ] STREAM CONNECTED 16806 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 20180
unix 3 [ ] STREAM CONNECTED 16805

 最后的最后 居然是防火墙的问题 

CentOS 7.0默认使用的是firewall作为防火墙

关闭防火墙 

systemctl stop firewalld.service #停止firewall

在IP 访问一切正常

systemctl disable firewalld.service #禁止firewall开机启动

 

[root&#64;localhost init.d]# systemctl start firewalld.service 开启防火墙firewall
[root&#64;localhost init.d]# firewall-cmd --state 查看防火墙firewall运行状态
running

启动后增加端口 通过规则

[root&#64;localhost init.d]# firewall-cmd --add-port&#61;80/tcp
success

再次访问 http://192.168.1.103/ 正常

 

 

 

查看firewall 运行情况

[root&#64;localhost init.d]# firewall-cmd --state

not running



 

接着mysql/mariadb的安装&#xff1a; yum install mysql mysql-server (yum install mariadb mariadb-server,启动服务器后&#xff0c;输入mysql_secure_installation回车进行修改命令)

然后php的安装&#xff1a;

 

安装 一些必要的 YUM 库

 

root 用户执行&#xff1a;

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

安装 PHP 及重要插件 php-fpm

root 用户执行&#xff1a;

# yum install php-fpm php

配置、启动 php-fpm

配置 /etc/php.ini&#xff1a;

# 找到并取消注释&#xff0c;设置成&#xff1a;
cgi.fix_pathinfo&#61;0

配置 /etc/php-fpm.d/www.conf&#xff1a;

# 找到并取消注释&#xff0c;设置成你希望管理 www 应用的用户&#xff08;我这里统一用用户 theflash&#xff09;
listen.owner &#61; theflash
listen.group &#61; theflash

启动 php-fpm 监听服务

# service php-fpm start

停止 php-fpm 监听服务

# service php-fpm stop

配置、启动 Nginx

更换网站目录所有者为 bp。  root 用户执行

# chown bp:bp /usr/etc/ngin/html -Rf

从此&#xff0c;以后就用用户 bp 来登录并维护 

/usr/etc/ngin/html

中的数据

 

直接分享我的配置 /usr/etc/ngin/conf/nginx.conf

user bp;#把原来的那句注释去掉&#xff0c;修改用户名events {
}http {include /etc/nginx/mime.types;server {root /data/wwwroot;location / {index index.html index.htm index.php;}error_page 404 /404.html;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 服务器&#xff0c;这步也很关键

 

测试php是否能用vi /usr/etc/ngin/html/index.php&#xff0c;内容如下正常的话会正常显示php信息

现在来测试php是否能连接上mysql(mariadb)&#xff0c;把网页文件内容改为

 

$link&#61;mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;yourpassword&#39;);
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>

连接正确会显示success&#xff0c;失败的话会显示fail

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


原文http://www.cnblogs.com/xxx91hx/p/4245901.html

 

转:https://www.cnblogs.com/biaopei/p/7730691.html



推荐阅读
author-avatar
隐身勇者_641
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有