一、安装Mysql
1、新建文件、配置仓库源
编辑创建mariadb.repo仓库文件
vi /etc/yum.repos.d/MariaDB.repo
2、添加repo仓库配置
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
3、yum下载
yum install MariaDB-server MariaDB-client -y
4、启动mysql
systemctl start mariadb(通过yum下载的,可以使用systemctl管理)
5、初始化mysql
mysql_secure_installation
6、登录mysql客户端
mysql -uroot -p
二、安装uwsgi
uwsgi的安装通过pip就可以安装
pip install -i https://pypi.douban.com/simple uwsgi
测试uwsgi安装是否成功方法 ----->通过uwsgi启动一个python web服务
1、准备一个test_uwsgi.py文件,写入代码:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World,im uwsgi....."] # python3
2、通过命令启动这个文件
uwsgi --http :8000 --wsgi-file test_uwsgi.py
3、浏览器测试访问
http://167.179.88.178:8000/
测试uwsgi安装是否成功方法 ----->通过uwsgi启动一个Django项目
1、准备好Django项目
2、在Django项目目录下执行一下命令:
uwsgi --http :8000 --module projects_name.wsgi
3、浏览器测试访问
http://167.179.88.178:8000/
三、安装nginx
1、 nginx解决依赖关系
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
2、切到opt目录,下载nginx安装包
cd /opt
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
3、解压安装包
tar -zxvf nginx-1.12.0.tar.gz
4、切换进入nginx目录
cd nginx-1.12.0
5、配置,编译安装到指定目录/opt/nginx1-12/
./configure --prefix=/opt/nginx1-12/ #这里不会生成文件夹
make && make install
6、启动nginx,进入sbin目录,找到nginx启动命令
进入nginx主目录,所有东西都在这了:cd /opt/nginx1-12
进入可执行命令目录:cd sbin
nginx相关命令:
./nginx :启动
ps -ef |grep nginx :检查端口和进程
./nginx -s stop :关闭
./nginx -s reload :重启(启动nginx服务时)
./nginx -t :检测nginx.conf语法是否正确
四、uwsgi和nginx对应的配置项
1.创建uwsgi的配置文件 uwsgi.ini,文件放哪里都可以
按照一下相关配置对应配置好相关信息:
[uwsgi]
# Django项目目录
chdir=/www/my_projects/server_manager/
# 指定项目的application
module=server_manager.wsgi:application
# 指定sock的文件路径---对应的nginx通信端口
socket=127.0.0.1:8000
# 进程个数
workers=5
#pidfile=/root/tg/myproject/script/uwsgi.pid
# 指定IP端口
http=0.0.0.0:8080
# 指定静态文件
static-map=/static=/www/my_projects/server_manager/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/www/my_projects/uwsgi.log
2、测试uwsgi配置是否成功
uwsgi --http :8080 --module server_manager.wsgi
浏览器可以输入 http://167.179.88.178:8080
测试项目是否可以启动
3、创建存放Django静态文件的目录:
mkdir /opt/static/django
4、配置django项目settings.py文件
ALLOWED_HOSTS = ['*']
#收集静态文件的目录,静态文件内容都放这里了
STATIC_ROOT='/opt/static/django'
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,"static"),
]
STATIC_ROOT 文件夹 是用来将所有STATICFILES_DIRS中所有文件夹中的文件,以及各app中static中的
文件都复制过来,把这些文件放到一起是为了用nginx等部署的时候更方便。
5、在Django项目下执行一下命令来收集静态文件:
python manage.py collectstatic
6、nginx配置
vi /opt/nginx1-12/conf/nginx.conf
server {
listen 80;
server_name 167.179.88.178;
charset utf-8;
access_log /www/my_projects/logs/host.access.log;
error_log /www/my_projects/logs/host.error.log;
location / {
include /opt/nginx1-12/conf/uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
index index.html index.htm;
}
location /static {
alias /opt/static/django; # 静态文件绝对路径
}
7、通过which uwsgi
命令找到uwsgi可执行命令的绝对路径
/usr/bin/uwsgi
8、cd 到第一步创建的uwsgi.ini 文件的目录执行一下命令:
/usr/bin/uwsgi --ini uwsgi.ini
输出结果为一下内容:
[root@vultr my_projects]# /usr/bin/uwsgi --ini uwsgi.ini
[uWSGI] getting INI configuration from uwsgi.ini
[uwsgi-static] added mapping for /static => /www/my_projects/server_manager/static
[root@vultr my_projects]#
9、执行以下命令启动nginx服务:
/opt/nginx1-12/sbin/nginx
10、浏览器访问ip地址就可以看到部署好的项目了
http://167.179.88.178:80
附:服务器开启端口命令:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
CentOS 7开放端口和关闭防火墙
https://www.jianshu.com/p/bad33004bb4f