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记得在这里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 nginx2)配置博客站点目录
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.org4)浏览器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/config3)报错:404
没有解析ip地址, 去这里C:\Windows\System32\drivers\etc\hosts hosts的路径
就是在hosts文件最后加上自己的ip地址和网盘的名字pan.etiantian.org
增加多行文本
cat >/oldboy.log<内容
dddd
}
EOF