以下博文记录为2018年 部分内容或老旧 仅供参考
接下来是笔者根据自己经历整理的从零开始在CentOs7.3上搭建环境(实测在腾讯云 阿里云主机上无误)
我们所采用的是如下配置:
Apache
1.安装apache2.4及其扩增包
2.配置servername
修改ServerName如下:
3.启动apache 并设置开机启动
4.访问主机地址
看一下是否运行正确(出现Test123..欢迎页面说明正确了)
5.防目录泄露
我们通常不希望自己的网站目录轻易被访问者看到或被有心人爆出。而apache默认配置中,只要没有index,就会显示网站目录,这一点我们要做一定修改
需要将以下内容:
修改为:
MYSQL
1.安装MySQL源
2.安装MySQL
3.启动MySQL
4.获取密码
你会得到这行 A temporary password is generated for root@localhost: Jqqskhz1Wr(?
冒号后面的就是密码
5.进入MySQL
输入你刚才获得的密码,你会进入mysql>。
6.修改密码
星号为你输入的密码,不要丢了引号,密码建议大小写加数字加特殊字符,太简单的密码会被拒绝
7.开放远程访问权限
百分号相当于*号,意为全部放行,也可改为IP地址则只允许此IP连接,也可以设置为192.168.%.%或者192.168.0.1/9代表允许一个ip段进行连接,也可以多加几条数据设置不同ip允许连接。
PHP及关联配置
1.进入 /usr/local文件夹
2.下载php7.1.2
3.解压下载的安装包
4.安装必要的依赖(很重要)
5.安装gcc(如果你希望之后的编译源码顺利进行的话)
6.安装必要扩展
7.安装状态测试
如果 find / -name apxs 得到的路径是:/usr/bin/apxs 那么安装很顺利
8.编译前的配置
9.编译并安装
编译出错请查看http://www.cnblogs.com/sweetXiaoma/p/5855732.html
10.添加环境变量
在末尾加入
使改动生效
查看php版本
11.生成必要文件
12.必要配置
如果报错 请敲这行查报错信息 可以查到哪个文件第几行出错:
(1)修改Apache默认欢迎页:
将/usr/share/httpd/noindex
修改为/var/www
(2)修改Apache配置:
将DocumentRoot的值修改为/var/www/
,并将此文件中的另一处/var/www/html
也改成/var/www
,这样我们就可以直接在/var/www
下放置我们想要在apache上跑的文件啦!
再在文件中找到如下内容:
在其后添加:
(4)搜索 IfModule dir_module
并在下面添加index.php
(如下)
(5)搜索下面这一行:
如果没有请手动添加,缺失本行内容会出现无法运行php文件,php文件访问即下载。
(6)测试
在\var\www
目录下创建打印php_info的主页。
浏览器里输入 主机地址/index.php
出现php7.1的配置信息说明一切就绪。
安装phpMyadmin
1.下载软件包
下载最新版的phpmyadmin (如选用其他版本,可前往phpmyadmin官网查看)
解压
修改解压后得到的文件夹名为phpmyadmin (为之后访问方便)
进入文件夹
2.建立主配置文件
3.修改配置文件
4.启动httpd+mysqld服务
浏览器输入主机地址/phpmyadmin 即可登录
安装python3.6及pip3
1.安装python3.6
2.软链接
一般来说,在/usr/bin 会有python3.6 这时我们可以设一个软链接给他
这样我们一运行python3即可打开python3.6
3.安装3.6对应的pip3
(为防止后期pip安装时混乱,此处我们只安装pip3)
4.安装检测
出现各种参数说明安装成功
如果你还想安装pip可参考https://blog.csdn.net/zuolovefu/article/details/78142612
5.模块安装
关于需要用到的各种python3模块(笔者的Django 项目会用到这些,大家根据自己的需求自行安装)
安装并配置mod_wsgi
1.下载新版的wsgi
解压包并进入解压得到的文件夹
2.编译安装
这一步configure很重要(它会列出一堆,看apxs gcc python等是否关联正确 不出现no的都是能关联到的。会有一部分是no不管他)
3.在apache中加载模块
在文件中加入:
保存后重启Apache:
关于在apache上配合mod_wsgi部署Django
1.runserver or check
建议先在主机上通过runserver 或者check测试下django框架是否已经正确搭建、关联好了数据库并且本机不缺少依赖。
2.赋权限
其次, 在工程文件夹外 将工程文件夹以及其子目录下文件赋予755权限:
3.修改Django/wsgi.py
修改wsgi.py
文件内容如下:
4.修改apache配置文件
在文件末尾加入如下:
然后保存退出,重启apache
我们来解释一下:
(1)第一行包含两部分 第一个地址表示apache从URL的哪开始是运行Django 第二地址是你Django 项目中wsgi.py的位置
(2)第二行是你所选择执行你Django程序的python解释器安装目录(如果安装wsgi时已正确指定则可省略)
(3)第三行是django项目的位置
(4)<Directory 后面上Django 项目的基础配置文件所在目录(一般是和项目目录同名的子目录)
余下部分照常
假如我现在的主机地址为119.23.33.217 开放端口是80
我的Django 项目名是first 项目所在目录是/etc/Django/First/first
并且安装wsgi时我已经指定了python3.6(因为我的Django用的是python3)
我希望在浏览器中输入 119.23.33.217/wepr/xxxxx 的时候可以触发我的Django框架
那么我的配置文件应该这样写
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
关于WSGIScriptAlias中设置子目录的问题:
如果采用 WSGIScriptAlias / /etc/Django/First/first/first/wsgi.py
当你访问119.23.33.217时,就只能触发django,而之前配置的phpmyadmin都不能访问
为了合理分配服务器的区块,提高利用效率,建议专门给Django一个虚拟子目录作为“分区”
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
以上属于笔者经验 如果大家在安装中出现其它问题或者发现本文疏漏 欢迎大家在下面评论
本文内容是笔者入门服务器部署时的流水账记录,二次整理到CSDN时,没有再对原内容进行修改,难免会有一些偏差认识,搬到这里来其实怀旧记录的成分更多一点。2020,岁月可期!
RHEL8都问世好久了,LNMP部署或用容器、或用更友好的管理面板(如宝塔Linux) 笔者之后如果再遇到类似的环境重部署时,会整理一篇新的内容(文笔肯定不会这么滞涩啦 ~hh)~~