新的虛擬機或服務器,首先添加用戶: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
複製代碼