一. 开篇介绍
1. 我不懂PHP, 所以此处的P代表Python, 按着一步步敲代码, 小白也能配置好.
2. 搭建过程为: 编译安装Nginx --> 二进制安装MySQL --> 编译安装Python
3. 版本号: Cent0S 7.0 nginx-1.11.6 mysql-5.6.35 python-3.6.2 django-1.11.2.
4. 为了小白容易区分, 声明: ~ 表示 /root, # 表示root用户. 不一定非要在指定路径. 有基础的略过
5. 关于防火墙设置, 参考Linux防火墙设置
二. 安装Nginx
1. 下载nginx-1.11.6.tar.gz, 耐心等待下载
~ # wget https://nginx.org/download/nginx-1.11.6.tar.gz
2. 解压nginx-1.11.6.tar.gz, 可以解压到当前目录, 也可以解压到自己设定的目录, 我个人习惯解压到 /usr/src/ 目录
~ # tar zxf nginx-1.11.6.tar.gz -C /usr/src/
3. 安装nginx的依赖包
~ # yum -y install gcc-c++ pcre pcre-devel openssl openssl-devel
4. 配置用户信息, 这个用户用来管理Nginx相关信息, 不登录, 也不用添加用户目录, 配置好了后查看一下是否创建成功. -s表示指定用户的shell, 不登录.
~ # useradd -s /sbin/nologin nginx -M
~ # tail -1 /etc/passwd
输出: nginx:x:1000:1000::/home/nginx:/sbin/nologin ==> 表示创建成功
5. 进入nginx-1.11.6目录, 并简要查看解压后的信息
~ # cd /usr/src/nginx-1.11.6
nginx-1.11.6 # ls 此处目录改变为nginx, 下文出现类似情况不再赘述
输出: CHANGES.ru configure html man src CHANGES conf contrib LICENSE README
6. confiugre里面写了很多配置信息, 可以用cat查看, 此处我省略掉, 我只是配置一下常用的, 如用户和用户组配置成nginx, 配置路径设置为 /usr/local/nginx, 监控运行状态, 以及支持https.
7. 编译安装
nginx-1.11.6 # make && make install
8. 进入nginx目录, 查看相关信息,
nginx-1.11.6 # cd /usr/local/nginx/
nginx # ls
输出: client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp
9. 设置软连接
nginx # ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
10. 启动nginx, 查看端口号
nginx # nginx
nginx # netstat -nlpt
输出: tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4853/nginx: master
11. 设置nginx的启动与关闭
nginx # nginx 启动
nginx # nginx -s stop 关闭
nginx # nginx -s reload 重启
11. 测试连接服务器
浏览器输入服务器ip地址, 可以查看首页, 如果域名解析过也可以输入域名查看.
三. 安装MySQL
1. 下载mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz, 耐心等待下载
~ # wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
2. 安装依赖包
~ # yum -y install perl autoconf libaio
3. 创建用户和组
~ # groupadd -r -g 306 mysql
~ # useradd -g 306 -r -u 306 mysql
4. 查看id和用户信息
~ # id mysql
~ # tail -1 /etc/passwd
输出: mysql:x:306:306::/home/mysql:/bin/bash ==> 表示创建成功
5. 解压文件, 目录为 /usr/loacl
~ # tar zxf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz -C /usr/local
6. 进入local目录, 并查看相关文件
~ # cd /usr/local
local # ls
输出: bin etc games include lib lib64 libexec mysql-5.6.34-linux-glibc2.5-x86_64 nginx sbin share src
7. 注意, 不能更改mysql-5.6.35-linux-glibc2.5-x86_64的名称, 因为可能存在依赖问题. 使用连接的方法推荐.
local # ln -sv mysql-5.6.35-linux-glibc2.5-x86_64 mysql
8. 进入mysql目录, 并更改用户和用户组. 注意, 为了防止暴力破解mysql, 如果将数据保存在 /usr/local/mysql/data里面, 那么用户和用户组必须为mysql. 用户组可以设置为root. 本次不做细分. 因为没有人会闲的蛋疼来攻击我的服务器. 在此我给出解决方案, 统一设置用户和用户组为root, 单独设置data目录为mysql和root. 前提是数据位置为/usr/local/mysql/data. 如果设置到其他位置, 略过.
local # cd mysql/ mysql # chown -R mysql.mysql /usr/local/mysql/*
9. 复制配置文件到系统配置文件目录, myslq找目录的方式 /etc/my.cnf --> /etc/myslq/my.cnf --> $BASEDIR/my.cnf --> $DATADIR/my.cnf(可能), 后一个覆盖前一个
mysql # cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
做出如下配置:
mysql # vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql 注意, 我定义到了单独的目录, 要先创建目录, 可以设置成默认的/usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock
log-error = /data/mysql/error.log
pid-file = /data/mysql/mysql.pid
tmpdir = /tmp
10. 初始化数据库
mysql # ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid --tmpdir=/tmp
11. 设置启动脚本, 查看执行权限
mysql # cp support-files/mysql.server /etc/init.d/mysqld
myslq # ll /etc/init.d/mysqld
输出: -rwxr-xr-x 1 root root 10875 Sep 11 08:14 /etc/init.d/mysqld ==> 都有执行权限, OK.
12. 将mysqld加入服务中
mysql # chkconfig --add mysqld
13. 查看启动权限
mysql # chkconfig --list mysqld
输出: mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
14. 启动mysqld, 这是服务端
mysql # service mysqld start
输出: Starting MySQL.. SUCCESS!
15. 查看端口
mysql # netstat -tnlp
输出: tcp6 0 0 :::3306 ::: LISTEN 11456/mysqld ==> 表示端口3306启动
16. 创建软连接
mysql # ln -s /usr/local/mysql/bin/mysql /usr/bin
17. 重新远程登录, 输入mysql
~ # mysql
18. 显示界面, 表示MySQL前后端, 以及相关启动项都已经配置好, 安装完成.
四. 安装Python
Centos7自带python2.7.5, 这个版本不能删除, 切记. ~ # python/which python可以查看相关信息.
1. 下载Python-3.6.2.tar.gz, 耐心等待下载
~ # wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
2. 安装开发环境和依赖包
~ # yum -y groupinstall development
~ # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
3. 解压Python-3.6.2.tar.gz
~ # tar xJf Python-3.6.2.tar.xz
4. 进入解压后的目录
~ # cd Python-3.6.2/
5. 配置, 编译和安装Python, 建议喝杯茶. 注意查看一下自己系统cpu情况, 然后设置j的参数, 如果不会用make && make install.
Python-3.6.2 # ./configure --prefix=/usr/local/python3 --enable-optimizations
Python-3.6.2 # make -j 16 && make install
6. 设置连接
Python-3.6.2 # ln -s /usr/local/python3/bin/python3 /usr/bin/python3 Python-3.6.2 # ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
7. 查看两个版本的信息
~ # python
~ # python3
输出: