新的虚拟机或服务器,首先添加用户:useradd -m icehtml
为用户添加密码:passwd icenode
新建的用户不能使用sudo, 为建立的普通用户添加sudo权限:python
usermod -a -G adm wcy
usermod -a -G sudo wcy
vim /etc/sudoers 修改用户权限
复制代码
修改~/.vimrc配置mysql
syntax on
set nu
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set ruler
set cindent
set background=dark
set mouse=a
set mouse=h
复制代码
安装python3.6linux
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
cd /usr/bin
ls | grep python
sudo rm python
sudo ln -s python3.6 python
sudo apt-get install python3-pip
pip --version
sudo python pip install --upgrade pip
pip --version
复制代码
安装虚拟环境nginx
sudo pip install virtualenv
sudo pip install virtualenvwrapper
mkdir ~/.virtualenvs
sudo vim ~/.bashrc
添加export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
复制代码
安装过程当中输入用户名和密码:git
sudo apt-get install mysql-server
复制代码
登陆数据库:github
sudo mysql -u root -p
复制代码
开启root用户的全称访问权限web
mysql –u root –p
use mysql;
update user set host = '%' where user = 'root';
grant all privileges on *.* to 'root'@'%' identified by '你的密码';
flush privileges;
quit;
复制代码
修改my.conf中的ip绑定redis
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1改成0.0.0.0
保存退出
复制代码
重启服务:
sudo service mysql restart
复制代码
远程上传至服务器
若在linux直接使用scp协议:
切换至所要上传的文件目录下
scp -r 文件名 用户名@IP(或域名):上传至服务器所在 的路径
scp 用户名@IP(或域名):上传至服务器所在的路径 本地路径
使用winscp能够直接拖动
使用gitbash能够模拟linux系统,方法与(1)相同
mongodb的安装与配置
tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.0.tgz
sudo mv mongodb-linux-x86_64-ubuntu1604-3.4.0/ /usr/local/mongodb
复制代码
sudo vim /etc/profile
最后一行添加export PATH=/usr/local/mongodb/bin:$PATH
保存退出
source /etc/profile
复制代码
sudo vim /etc/mongod.conf
verbose=true
port=27017
logpath=/var/log/mongodb/logs/mongodb.log
logappend=true
dbpath=/var/lib/mongodb/db
directoryperdb=true
auth=false
fork=true
quiet=true
复制代码
sudo mkdir /var/log/mongodb/logs/ -p
sudo touch /var/log/mongodb/logs/mongodb.log
sudo mkdir /var/lib/mongodb/db -p
复制代码
注册开机启动:sudo vim /etc/init.d/mongodb
!/bin/sh
### BEGIN INIT INFO
# Provides: mongodb
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
. /lib/lsb/init-functions
PROGRAM=/usr/local/mongodb/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`
test -x $PROGRAM || exit 0
case "$1" in
start)
ulimit -n 3000
log_begin_msg "Starting MongoDB server"
$PROGRAM -f /etc/mongod.conf
log_end_msg 0
;;
stop)
log_begin_msg "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
;;
*)
log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
exit 1
esac
exit 0
复制代码
sudo chmod +x /etc/init.d/mongodb
复制代码
注册开机脚本:
sudo update-rc.d mongodb defaults
(注意:移除使用sudo update-rc.d –f mongodb remove)
复制代码
启动服务:
sudo service mongodb start
复制代码
客户端链接:
mongo
复制代码
安装tcl:
sudo apt-get install tcl
复制代码
解压安装包:
tar -zxvf redis-3.2.5.tar.gz
复制代码
建立安装目录并进入该目录:
sudo mv redis-3.2.5/ /usr/local/redis
cd /usr/local/redis
复制代码
编译安装:
sudo make
sudo make test
sudo make install
复制代码
测试:
/usr/local/redis/src/redis-server
/usr/local/redis/src/redis-cli
set name ice
get name
复制代码
建立相关目录:
sudo mkdir /etc/redis(配置文件路径)
sudo mkdir /var/lib/redis(redis数据存储路径)
复制代码
安装服务:
cd /usr/local/redis/utils
sudo ./install_server.sh
复制代码
重启服务:
ps ajx | grep redis
sudo kill -9 对应进程号
复制代码
测试:
redis-server
redis-cli
复制代码
配置文件:
cd /etc/redis
sudo vim /etc/redis/6379.conf
bind 127.0.0.1 绑定IP
daemonize yes 是否以守护进程运行
requirepass 密码
重启服务:
ps ajx | grep redis
kill -9 对应进程号
sudo redis-server /etc/redis/6379.conf
复制代码
直接开启客户机:
redis-cli
复制代码
安装:
sudo apt-get install git
复制代码
配置git:
git config –global user.name “ice”
git config –global user.email “152516xxxx@qq.com”
复制代码
生成秘钥:
ssh-keygen –t rsa –C 152516xxxx@qq.com
复制代码
在~/.ssh/ id_rsa.pub文件中复制生成的秘钥,打开GitHub网管,建立一个公钥
验证秘钥:
ssh –T git@github.com
复制代码
测试:
git clone git@github.com:用户名/用户名.git
复制代码
安装zlib依赖库:
sudo apt-get install zlib1g-dev
复制代码
进入解压相关文件:
tar –xzvf openssl-1.0.1.tar.gz
tar –xzvf nginx-1.11.3.tar.gz
tar –xzvf pcre-8.41. tar.gz,
复制代码
进入Nginx解压目录:
cd /home/ice/ nginx-1.11.3/
复制代码
配置环境:
./configure --prefix=/usr/local/nginx
--with-http_ssl_module
--with-http_flv_module
--with-http_stub_status_module
--with-http_gzip_static_module
--with-pcre=../pcre-8.41
--with-openssl=../openssl-1.0.1
复制代码
编译:
make
若是出现”pcre.h No such file or directory”,
安装”sudo apt-get install libpcre3-dev”
复制代码
安装
sudo make install
复制代码
说明:
nginx会被安装在/usr/local/nginx目录下
conf:存放配置文件 html:静态网页
logs:存放日志文件 sbin:存放可执行文件
复制代码
相关命令
启动Nginx服务: sudo /usr/local/nginx/sbin/nginx
关闭Nginx服务: sudo /usr/local/nginx/sbin/nginx -s stop
从新加载配置: sudo /usr/local/nginx/sbin/nginx –s reload
指定配置文件: sudo /usr/local/nginx/sbin/nginx –c /usr/local/nginx/conf/nginx.conf
查看版本信息: sudo /usr/local/nginx/sbin/nginx –V
查看80端口的程序:nesta –ano | grep 80
关闭占用80端口的程序:sudo fuser –k 80/tcp
复制代码
启动服务:
sudo /usr/local/nginx/sbin/nginx 或cd切换到sbin目录下执行./nginx
复制代码
打开浏览器,输入Nginx服务器IP地址
配置
/usr/local/nginx/conf/nginx.conf
复制代码
全局设置:
定义全局错误日志文件,须要什么等级能够设置开启
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
worker_rlimit_nofile:指定一个nginx能够打开的最多文件描述符,能够使用“ulimit –n 65535”进行设置(虚拟机默认设置1024),阿里云服务器默认就是65535
复制代码
events(nginx工做模式)
events {
use epoll; linux标准的工做模式,nginx高效的基石
worker_connections 1024; 定义nginx每一个进程的最大链接数
}
复制代码
http(http设置)
sendfile on; 开启高效文件传输模式
tcp_nopush on; 防止网络阻塞
tcp_nodelay on;
keepalive_timeout 65; 设置客户端链接活动的超时时间
gzip on; 使用压缩模块
复制代码
server(主机设置)
server{
listen 80;
server_name localhsot www.ice.xin 39.105.61.52;
charser utf-8;
# 负载均衡模块,upstream是负载均衡器
upstream ice {
server 39.105.61.52:8000 weight=1 max_fails=1 fail_timeout=300s;
server 39.105.61.53:8000 weight=1 max_fails=1 fail_timeout=300s;
}
# 负载均衡采用轮循方式
server server 39.105.61.52:8000 weight=1 max_fails=1 fail_timeout=300s;
}
# 反向代理配置,
location / {
#适用于django自带的runserver方式启动
#proxy_pass http://www.ice.xin:8000;
#proxy_pass http://www.ice.xin:8000;
#proxy_set_header Host $http_host;
# 设置uwsgi启动
include uwsgi_params;
uwsgi_pass ice;
}
}
复制代码
重启nginx服务:
sudo /usr/local/nginx/sbin/nginx
复制代码
安装Django:
sudo pip install Django==1.11.4
复制代码
建立Django项目:部署前须要关闭调试,容许任何机器访问
安装uwsgi:
sudo apt-get install libpython3.6-dev(2.7不用安装)
pip install uwsgi
复制代码
建立:在工程目录下建立名为uwsgi.ini的文件
配置uwsgi.ini:
[uwsgi]
#使用nginx链接时使用功能,上线时才使用socket
socket=0.0.0.0:8000
#直接作web项目服务器使用
#http=0.0.0.0:8000
#项目目录
chdir=/home/'/project #项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=project/wsgi.py processess=2 threads=2 master=True pidfile=uwsgi.pid #是否以守护进程的方式启动 daemonize=uwsgi.log 复制代码
启动:
uwsgi --ini uwsgi.ini
复制代码
中止:
uwsgi --stop uwsgi.pid
复制代码
配置Nginx:
在/usr/local/nginx/conf/nginx.conf中添加:
location /static {
alias /var/www/axf/static/;
}
复制代码
建立静态文件的存储文件
sudo mkdir –vp /var/www/axf/static/
sudo chmod 777 /var/www/axf/static/
复制代码
配置静态文件
在settings.py中添加:
STATIC_ROOT = ‘var/www/axf/static/' STATIC_URL = ‘/static/'
复制代码
迁移静态文件
python manage.py collectstatic
复制代码