centos7.2 环境搭建

新装服务器的设置

安装 nano

yum install nano

创建新用户

adduser userName
passwd userName
根据提示输入密码

添加到 “wheel” 用户组,可以使用 sudo 来使用管理员权限。

gpasswd -a userName wheel

添加公钥认证

使用 private SSH key 登录。

在本机生成密钥对 ssh-keygen

切换用户
su - demo

/home/userName 目录下创建
sudo mkdir .ssh
sudo chmod 700 .ssh

这里放入公钥内容,或者把本机生成的公钥上传到这个路径,并且名字是 authorized_keys
sudo nano .ssh/authorized_keys
sudo chmod 600 .ssh/authorized_keys
返回 root 用户
exit

设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,进行如下设置:

RSAAuthentication yes
PubkeyAuthentication yes

另外,请留意 root 用户能否通过 SSH 登录,默认为yes:
PermitRootLogin yes

当我们完成全部设置并以密钥方式登录成功后,可以禁用密码登录。这里我们先不禁用,先允许密码登陆
PasswordAuthentication yes

最后,重启 SSH 服务:
service sshd restart

选择认证方式为PublicKey公钥认证,选择刚刚的id_rsa私钥文件即可

安装 nano

yum install nano

更新 python

安装 anaconda

cd /tmp
curl -O https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh
sha256sum Anaconda3-2019.03-Linux-x86_64.sh
到下面验证 hash 是否正确
https://docs.anaconda.com/anaconda/install/hashes/

sudo yum install bzip2
bash Anaconda3-2019.03-Linux-x86_64.sh
source ~/.bashrc
conda info

conda create –name py37 python=3.7
conda activate py36
conda deactivate

删除环境:

conda remove –name py36 –all

列出环境:

conda info -e

更新

conda update conda
conda update anaconda

卸载 anaconda

rm -rf ~/anaconda3
rm -rf ~/.condarc ~/.conda ~/.continuum
编辑文件,去掉 anaconda 添加的内容
~/.bashrc

源码更新

python -V

  1. 确保已经将内置的应用升级到最新的可用版本
    yum -y update

  2. 安装所需的 development tools
    yum groupinstall -y development

  1. 安装一些附加的包
    yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel

  2. 源码安装 Python,到下面的地址查找对应的版本 https://www.python.org/downloads/

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
tar -xzf Python-3.6.4.tgz
cd Python-3.6.4
./configure –prefix=/usr/local/python-3.6.4 –enable-optimizations –enable-shared LDFLAGS=”-Wl,-rpath /usr/local/lib”

// 构建源码 安装 一般我们应该使用 make install 来进行安装,但是为了不覆盖系统默认的版本,我们使用 make altinstall
make
make altinstall

如果安装目录不是/usr/local 的话需要设置 path 环境变量
export PATH=”/usr/local/python-3.6.4/bin:$PATH”

问题:安装 python3.6.4 后的问题 error while loading shared libraries: libpython3.6m.so.1.0
在目录 /etc/ld.so.conf.d 下,建立 python3.conf,内容为 lib 路径/usr/local/python-3.6.4/lib
然后运行:ldconfig

python3.6 -V

创建虚拟环境

sudo pip install virtualenv
virtualenv ./myprojectenv
source myprojectenv/bin/activate

在虚拟环境里面安装 gunicorn 和 flask
pip install gunicorn flask

nano ~/myproject/myproject.py

from flask import Flask
application = Flask(__name__)

@application.route("/")
def hello():
return "<h1 style='color:blue'>Hello There!</h1>"

if __name__ == "__main__":
application.run(host='0.0.0.0',port=5000)

python myproject.py

访问 ip 地址能看到 Hello There!

创建 WSGI 入口点

nano ~/myproject/wsgi.py

from myproject import application

if __name__ == "__main__":
application.run()

测试 gunicorn

gunicorn --bind 0.0.0.0:5000 wsgi:application

然后访问 ip 地址就能看到测试网页了。

安装 mysql5.6

查看是否安装
rpm -qa | grep mysql #由下至上依次卸载
rpm -qa | grep mariadb

rpm -e xxx #一般使用此命令即可卸载成功
rpm -e –nodeps xxx #卸载不成功时使用此命令强制卸载

安装
安裝 MySQL Repository
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安裝 MySQL Server, MySQL client 已經包括在 server 套件內:
yum install mysql-community-server
開機自動啟動 MySQL
/usr/bin/systemctl enable mysqld
啟動 MySQL
/usr/bin/systemctl start mysqld
MySQL 預設為空密碼, 執行以下指令修改:
/usr/bin/mysql_secure_installation

这里要注意是否允许远程登录,调试的时候允许比较方便些。

安装 nginx

yum -y update
yum install epel-release
yum install nginx

systemctl start nginx
systemctl enable nginx
systemctl status nginx

nginx -v

the configuration file /etc/nginx/nginx.conf

配置防火墙

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

测试

http://SERVER_DOMAIN_NAME_OR_IP

配置文件和路径

默认web服务路径/etc/nginx
主配置文件 /etc/nginx/nginx.conf
虚拟主机配置文件可以添加到 /etc/nginx/conf.d
默认文档 /usr/share/nginx/html

安装 php 7.2

打开 EPEL and Remi repository

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum-utils

yum install yum-utils

配置 7.2

sudo yum-config-manager --enable remi-php72

安装 php7.2

yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo

Install Required PHP Modules
yum install mod_php - to install

apachectl -t -D DUMP_MODULES - will show you all loaded modules.
apachectl -t -D DUMP_MODULES | grep mod_php - will show you if mod_php is loaded or not.

php -v

安装 apache

sudo yum clean all
sudo yum -y update
sudo yum -y install httpd

配置防火墙

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

配置自启动

sudo systemctl start httpd
sudo systemctl enable httpd

检查状态

sudo systemctl status httpd

停止

sudo systemctl stop httpd

配置监听端口,先备份:

sudo nano /etc/httpd/conf/httpd.conf
找到Listen 80 修改为8080

如果有虚拟主机也要修改
<VirtualHost 192.168.1.100:80>

service httpd restart
service nginx restart