Linux上搭建nginx.php.mysql.并连接





10分钟搭建LNMP服务并搭建3个项目案例【纯干货】 - 老男孩老师 - 博客园

什么是web服务:是给用户提供网页服务的

开发语言之什么:

1 java语言,[jar]:比较笨重,存在三十多年,逻辑。内容比较复杂但是安全系数相对较好,注重0后端开发.是国内第一语言,程序。从事人员%90是本科,大公司有的指定招211、985.甚至博士。硕士、

2 PHP语言:属于脚本,轻量级,主要从事网页开发,2017年,随着python的火热发展,运用php的公司下降了

3 python语言:是个脚本,2013年开始火。云计算【openstack】用的就是python,2015人工智能[python]就火起来了。它语法简单,入门简单,是万能的语言,也是胶水语言。熟练掌握python语言,了解开发的规律,才能更好开发安全工具,和自动化脚本

4 GO语言【编译】:代替c /c++,主要用于大型互联网,高并发业务,浏览量特别大的编译业务,是个容器编排管理的工具,会计学它可以提高工作效率,

神马是前端语言:前端开发,是种静态语言,类似于小游戏

css,js(javascript),note.js,html    这些都属于前端开发的静态语言

什么是静态语言,动态语言:

图片,视频,文件,css,js(javascript),note.js,htm  都是静态语言

程序:.php .jsp .do .py    这些是动态语言

linux 提供网站的运行环境:

运行环境需要,四种基础程序软件:L N M P

Linux   是让网站正常运行系统

Nginx   web  服务,解析静态语言

 MYSQL  数据库,数据的仓库  9000端口是数据库端口

 Php/Python   开发语言

LAMP   #Apache 即将被淘汰

LTM     #tomcat #解析java语言

racle 是传统的数据库

MYSQL   互联网数据库

还有以下其他数据库:
TIDB
REDIS
MONGODB

LNMP:

   ## **1.LNMP架构环境之Nginx安装部署**

开始搭建

1)查看操作系统版本

[root@oldboy ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

#1)关闭selinux:

 永久关闭selinux    #永久关闭并重启
   #sed -i 's#SEL关闭selinux  
   #setenforce 0  #临时关闭selinux,重启后还会开启
   #getenforce  #查看是否关闭INUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
#2)关闭防火墙
 #systemctl stop firewalld
   #systemctl status firewalld  #检查是否关闭防火墙
 永久关闭防火墙
   #systemctl disable firewalld    #将禁止开机自启

2.Nginx部署

1) 使用官方仓库安装Nginx

yum install yum-plugin-priorities -y
cat >/etc/yum.repos.d/nginx.repo<<'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
priority=1
EOF
cat /etc/yum.repos.d/nginx.repo

2)安装Nginx

yum remove nginx -y   #移除已有nginx
yum install nginx -y  #安装nginx

3) 配置Nginx进程运行的用户

useradd -u1111 www -s /sbin/nologin -M       #创建www 用户UID为1111
sed -i '/^user/c user www;' /etc/nginx/nginx.conf # 修改user 开头的字符所有用户名,都改为WWW
grep "^user" /etc/nginx/nginx.conf       查看是否成功

4) 启动Nginx,并将Nginx加入开机自启

systemctl start nginx      # 启动
systemctl enable nginx    #开机自启动
netstat -lntup #查看端口对应的服务


## **2.LNMP架构环境之Nginx项目1:搭建游戏网站curl 127.0.0.1 #welcome to Nginx 表示正常

1)配置站点目录

yum install lrzsz -y     #安装lrzsz软件
cd /usr/share/nginx/   #  切换到/usr/share/nginx/默认站点目录
rm -fr html/          # 删除这个软件在拉文件

老男孩Linux77期html小游戏项目.zip #上传游戏程序(我的百度云盘,拖到目录下即可)
unzip *.zip #只有一个文件就可以用* 解压.zip 到当前文件夹

2)浏览器输入你的Linux服务器的ip地址回车,开玩。

## **3.LNMP架构环境之PHP环境部署

1) 使用第三方扩展源安装php7.1

#1)配置PHP安装源

yum install epel-release -y       安装官方源
wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm --no-check-certificate   
rpm -Uvh webtatic-release.rpm     检查是否安装成功

2.1)卸载旧版本的php

rpm -e $(rpm -qa|grep php)      卸载旧版本
rpm -qa|grep php             检查卸载结果

#2.2)安装PHP及相关插件

yum install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd -y
yum install php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd -y
yum install php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb -y

#  3)配置php-fpm用户与Nginx的运行用户保持一致    #把php-fpm下面用户和组改成www

sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf  
sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
egrep "^user|^group" /etc/php-fpm.d/www.conf

4)启动php-fpm,并将其加入开机自启

systemctl start php-fpm
systemctl enable php-fpm
lsof -i :9000

   

ps -ef|grep php-fpm   # 检查一遍

到此为止PHP就配好了。

2)配置nginx连接php

cat >/etc/nginx/conf.d/01_pan.etiantian.org.conf< 
  
3)在/data目录下创建phpinfo.php文件:
mkdir /data/pan -p       
cat> /data/pan/phpinfo.php<
EOF

4)测试能否通过curl或浏览器访问

curl -H"host:pan.etiantian.org" 192.168.131.129/phpinfo.php

#

# **4.LNMP架构环境之PHP环境项目2:部署百度云盘系统:nginx+PHP

1.部署百度网盘项目到站点目录

cd /data/pan     #切换到data/pan 下面
rz
把云盘程序下载下来 #上传游戏程序(我的百度云盘,拖到目录下即可)
unzip kodexplorer4.40.zip         # 解压程序 kodexplorer4.40到当前目录
chown -R www.www /data/pan         #给他改名字并且增加权限

2.做好hosts解析 

 C:\Windows\System32\drivers\etc\hosts hosts的路径
就是在hosts文件最后加上自己的ip地址和网盘的名字pan.etiantian.org

Linux上搭建nginx.php.mysql.并连接_第1张图片

记得在这里ping pan.etiantian.org看是否返回IP地址;又回复就是可以连上

  ## **5.LNMP架构环境之Mariadb数据库环境

nginx+php+mysql 解析静态语言和PHP ,9000端口和数据库的链接


1) 安装Mariadb数据库

#1)安装Mariadb数据库

yum install mariadb-server mariadb -y

#2)启动Mariadb数据库, 并加入开机自动

systemctl start mariadb
systemctl enable mariadb  
mysql     输入mysql看是否可以进去
MariaDB [(none)]> quit   可以进去。输入 quit就会退出来
Bye

#3)给Mariadb配置登陆密码,并是新密码进行登录数据库

mysqladmin password 'oldboy123'       #密码是oldboy123
mysql -uroot -poldboy123              #检查是否可以用密码登录

4)LNMP架构配置及整体测试实战

1)在/data目录下创建test_mysql.php文件,填入对应的数据库IP、用户名、密码

cat >/data/pan/test_mysql.php<<'EOF'

EOF

)最后通过浏览器访问http://pan.etiantian.org/test_mysql.php文件

出现:php连接MySQL数据库成功,oldboy77期 表示成功。

 

## **6.LNMP架构环境之PHP+Mariadb环境项目3:部署博客wordpress项目

1)配置nginx 博客虚拟主机

cat >/etc/nginx/conf.d/02_blog.etiantian.org.conf< 
  
cat /etc/nginx/conf.d/02_blog.etiantian.org.conf   #查看是否配置成功
nginx -t
systemctl restart nginx

2)配置博客站点目录

mkdir -p /data/blog     #创建递归/data/blog 目录
cd /data/blog           #切换到/data/blog
下载blog程序
wget https://cn.wordpress.org/latest-zh_CN.zip

unzip latest-zh_CN.zip     #解压文件到当前目录
mv wordpress/* .           #剪贴文件到当前目录
chown -R www.www /data/blog/    #给他改名字并且增加权限

3)做Hosts解析:  和上一个可以排列

192.168.131.129 pan.etiantian.org blog.etiantian.org

4)浏览器blog.etiantian.org安装见结尾云盘视频

weale come to beijing 

问题及解决
1)安装云盘后:打开IP,发现不能访问游戏了。
解决办法:
[root@oldboy conf.d]# cd /etc/nginx/conf.d     
[root@oldboy conf.d]# mv default.conf 00-default.conf     修改游戏文件名
[root@oldboy conf.d]# ls -l
总用量 8
-rw-r--r--. 1 root root 1072 5月  25 21:30 00-default.conf
-rw-r--r--. 1 root root  281 10月 22 10:38 01_pan.etiantian.org.conf
[root@oldboy conf.d]# systemctl restart nginx
原因:多个站点文件按数字顺序加载。没有数字,就被有数字的网站顶掉了
 

2)报错:403 Forbidden和File not found.   
解决办法:忘记关闭selinux了
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

3)报错:404

没有解析ip地址,   去这里C:\Windows\System32\drivers\etc\hosts hosts的路径
就是在hosts文件最后加上自己的ip地址和网盘的名字pan.etiantian.org


增加多行文本
cat >/oldboy.log< 内容
dddd
}
EOF

你可能感兴趣的:(nginx,linux,php,1024程序员节)