Linux:系統的相關配置

Linux:系統的相關配置

一、用戶的創建與python3.6環境的安裝

  1. 新的虛擬機或服務器,首先添加用戶:useradd -m ice

  2. 為用戶添加密碼:passwd ice

  3. 新建的用戶不能使用sudo, 為創建的普通用戶添加sudo權限:

    usermod -a -G adm wcy usermod -a -G sudo wcy vim /etc/sudoers 修改用戶權限
  4. 修改~/.vimrc配置

    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
  5. 安裝python3.6

    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
  6. 安裝虛擬環境

    sudo pip install virtualenv sudo pip install virtualenvwrapper mkdir  ~/.virtualenvs sudo vim  ~/.bashrc      添加export WORKON_HOME=$HOME/.virtualenvs     source /usr/local/bin/virtualenvwrapper.sh

二、安裝MySQL

  1. 安裝過程中輸入用戶名和密碼:

    sudo apt-get install mysql-server
  2. 登錄數據庫:

    sudo mysql -u root -p
  3. 開啟root用戶的全稱訪問權限

    mysql –u root –p use mysql; update user set host = '%' where user = 'root'; grant all privileges on *.* to 'root'@'%' identified by '你的密碼'; flush privileges; quit;
  4. 修改my.conf中的ip綁定

    mysql –u root –p use mysql; update user set host = '%' where user = 'root'; grant all privileges on *.* to 'root'@'%' identified by '你的密碼'; flush privileges; quit;
  5. 重啟服務:

    sudo service mysql restart

三、安裝mongodb

  1. 遠程上傳至服務器

  • 若在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
  • 四、安裝redis

    1. 安裝tcl:

      sudo apt-get install tcl
    2. 解壓安裝包:

      tar -zxvf  redis-3.2.5.tar.gz
    3. 創建安裝目錄并進入該目錄:

      sudo mv redis-3.2.5/ /usr/local/redis   cd /usr/local/redis
    4. 編譯安裝:

      sudo make    sudo make test    sudo make install
    5. 測試:

      /usr/local/redis/src/redis-server /usr/local/redis/src/redis-cli set name ice get name
    6. 創建相關目錄:

      sudo mkdir /etc/redis(配置文件路徑) sudo mkdir /var/lib/redis(redis數據存儲路徑)
    7. 安裝服務:

      cd /usr/local/redis/utils          sudo ./install_server.sh
    8. 重啟服務:

      redis-server        redis-cli
    9. 測試:

      redis-server        redis-cli
    10. 配置文件:

      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
    11. 直接開啟客戶機:

      redis-cli

    五、安裝git

    1. 安裝:

      sudo apt-get install git
    2. 配置git:

      git config –global user.name “ice” git config –global user.email “152516xxxx@qq.com”
    3. 生成秘鑰:

      ssh-keygen –t rsa –C 152516xxxx@qq.com
    4. 在~/.ssh/ id_rsa.pub文件中復制生成的秘鑰,打開GitHub網管,創建一個公鑰

    5. 驗證秘鑰:

      ssh –T git@github.com
    6. 測試:

      git clone git@github.com:用戶名/用戶名.git

    六、nginx安裝

    1. 安裝zlib依賴庫:

      sudo apt-get install zlib1g-dev
    2. 進入解壓相關文件:

      tar –xzvf openssl-1.0.1.tar.gz tar –xzvf nginx-1.11.3.tar.gz tar –xzvf pcre-8.41. tar.gz,
    3. 進入Nginx解壓目錄:

      cd /home/ice/ nginx-1.11.3/
    4. 配置環境:

      ./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
    5. 編譯:

      make 如果出現”pcre.h No such file or directory”, 安裝”sudo apt-get install libpcre3-dev”
    6. 安裝

      sudo make install
    7. 說明:

      nginx會被安裝在/usr/local/nginx目錄下 conf:存放配置文件     html:靜態網頁     logs:存放日志文件     sbin:存放可執行文件
    8. 相關命令

      啟動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
    9. 啟動服務:

      sudo /usr/local/nginx/sbin/nginx 或cd切換到sbin目錄下執行./nginx
    10. 打開瀏覽器,輸入Nginx服務器IP地址

    11. 配置

    • /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項目

    1. 安裝Django:

      sudo pip install Django==1.11.4
    2. 創建Django項目:部署前需要關閉調試,允許任何機器訪問

    3. 安裝uwsgi:

      sudo apt-get install libpython3.6-dev(2.7不用安裝) pip install uwsgi
    4. 創建:在工程目錄下創建名為uwsgi.ini的文件

    5. 配置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
    6. 啟動:

      uwsgi --ini uwsgi.ini
    7. 停止:

      uwsgi --stop uwsgi.pid
    8. 配置Nginx:

    • 在/usr/local/nginx/conf/nginx.conf中添加: 		location /static { 			alias /var/www/xxx/static/; }
    • 創建靜態文件的存儲文件 		sudo mkdir –vp /var/www/xxx/static/ 		sudo chmod 777 /var/www/xxx/static/
  • 配置靜態文件

    • 在settings.py中添加: STATIC_ROOT = ‘var/www/xxx/static/' STATIC_URL = ‘/static/'
    • 遷移靜態文件 python manage.py collectstatic

    更多Linux文章,請訪問網管欄目進行學習!

    ? 版權聲明
    THE END
    喜歡就支持一下吧
    點贊14 分享