day95

Linux基本部署配置及常見擴展應用

Linux軟件包安裝方法

  1. 安裝:
    整個安裝過程能夠分爲如下幾步:
    1) 取得應用軟件:經過下載、購買光盤的方法得到;
    2)解壓縮文件:通常tar包,都會再作一次壓縮,如gzip、bz2等,因此你須要先解壓。若是是最多見的gz格式,則能夠執行:「tar –xvzf 軟件包名」,就能夠一步完成解壓與解包工做。若是不是,則先用解壓軟件,再執行「tar –xvf 解壓後的tar包」進行解包;
    3) 閱讀附帶的INSTALL文件、README文件;
    4) 執行「./configure」命令爲編譯作好準備;
    5) 執行「make」命令進行軟件編譯;
    6) 執行「make install」完成安裝;
    7) 執行「make clean」刪除安裝時產生的臨時文件。
  好了,到此大功告成。咱們就能夠運行應用程序了。但這時,有的讀者就會問,我怎麼執行呢?這也是一個Linux特點的問題。其實,通常來講, Linux的應用軟件的可執行文件會存放在/usr/local/bin目錄下!不過這並非「放四海皆准」的真理,最可靠的仍是看這個軟件的 INSTALL和README文件,通常都會有說明。
  2. 卸載:
    一般軟件的開發者不多考慮到如何卸載本身的軟件,而tar又僅是完成打包的工做,因此並無提供良好的卸載方法。
    那麼是否是說就不可以卸載呢!其實也不是,有兩個軟件可以解決這個問題,那就是Kinstall和Kife,它們是tar包安裝、卸載的黃金搭檔。php

rpm包管理

  1.光盤掛載(只有將光盤掛在上一個文件,咱們才能使用)html

 mount /dev/cdrom /mnt
 cd  /mnt
 ls

  2.安裝rpm包python

rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm

  3.卸載rpmmysql

rpm -e vsftpd-3.0.2-22.el7.x86_64

  4.rpm包的查詢linux

rpm -q vsftpd
有則返回其文件名
rpm -q vsftp
無則返回沒有安裝該包
 rpm -qa |grep vsf
在rpm文件下模糊搜索
which vim
查詢vim的目錄
rpm -qf /usr/bin/vim
查看某個文件下的某個包

  5.補充ios

  由於一些包以前存在着依賴關係,因此下載某些包時,須要先下載其依賴,可是有時候依賴有多是這樣的nginx

A的依賴BC   B的依賴DF   F的依賴AC

  若是出現這種狀況咱們能夠:rpm  -ivh  a b c d e fc++

yum的使用

  1.使用aliyun yum站點源web

    Base源:redis

cd /etc/yum.repos.d/
進入到該文件下進行操做
mv *.repo /tmp
先將本來的源文件移走,否則若先匹配到原有的源文件,會直接去匹配到的文件指向的地址下載
wget http://mirrors.aliyun.com/repo/Centos-7.repo
設置地址

    EPEL源:

yum install -y epel-release

  2.使用yum安裝軟件

yum install -y openssl openssl-devel 

  3.軟件包查詢及組安裝

yum list |grep vsftpd
查詢 yum grouplist
這是針對一個包的安裝 yum groupinstall "Development Tools"
這是一個組的安裝

  4.卸載軟件包

yum remove 包名

  5.優化yum源

    (1)本地鏡像yum源(光盤掛載到/mnt下)

咱們須要本身寫一個後綴爲repo的文件,格式以下
[local]
name=localios
baseurl=file:///mnt
gpgcheck=0
寫完後,清緩存
yum clean all

    (2)局域網yum源(ftp)

1.安裝ftp軟件
yum install -y vsftpd

2.啓動ftp服務
systemctl start vsftpd
開啓服務
systemctl enable  vsftpd
開機自啓動

3.建立站點目錄,並將光盤軟件拷貝其中
[root@python3 ~]# cp -a /mnt/*  /var/ftp/pub/centos7

4.生成ftp站點的yum源配置文件
[ftp]
name=centos7
baseurl=ftp://10.0.0.100/pub/centos7
gpgcheck=0


5.安裝軟件測試
 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y

  

 源碼包應用

  1.解壓

壓縮格式:
.zip 
unzip  xxx.zip
.tar 
.tar.gz 
.tgz
.tar.bz2 
.tar.xz
解壓方式(須要下載依賴):
tar xf  xxx.tar
.iso
mount -o loop xxx.iso  /test
.cpio
cpio -idcmv < xxx.cpio

  2.源碼包安裝

    (1)python3.6源碼包安裝

./configure       ------> 定製功能
make
make install
View Code

      mysql源碼包安裝

cmake
make 
make install
View Code

    (2)redis源碼包安裝

解壓後,make便可

    (3)修改環境變量(可作可不作)

vim /etc/profile
添加如下一行:
export PATH=/opt/redis-3.2.10/src:$PATH
生效配置
source /etc/profile

    (4)測試讓python連接redis

unzip redis-py-master.zip 
cd redis-py-master
python3 setup.py install
對redis的單實例進行鏈接操做
python3
>>>import redis
>>>r = redis.StrictRedis(host='localhost', port=6379)
>>>r.set('name', 'oldguo')
True
>>>r.get('name')
'oldguo'

  

二進制包(mysql5.7.20)

  1.解壓及製做軟鏈接

tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql

  2.編輯環境變量

vim  /etc/profile
添加如下一行:
export PATH=/opt/mysql/bin:$PATH
生效配置:
source /etc/profile

  3.卸載自帶mariadb

yum remove mariadb-libs

  4.生成配置文件

vim /etc/my.cnf
[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
user=mysql
log_error=/var/log/mysql.log
log_bin=/opt/mysql/data/mysql-bin
server_id=100
[mysql]
socket=/tmp/mysql.sock

  5.初始化數據

因爲權限問題咱們呢須要手動建立而且受權
touch /var/log/mysql.log 
chown -R mysql.mysql /var/log/mysql.log
初始化數據命令
mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql

  6.啓動mysql

cd /opt/mysql/support-files
./mysql.server start

cp mysql.server /etc/init.d/mysqld
重啓mysql服務
/etc/init.d/mysqld restart

擴展:使用systemctl 管理mysql
vim /etc/systemd/system/mysqld.service
寫入
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
重啓mysql服務
systemctl restart mysqld
查詢服務是否啓動成功
netstat -tulnp |grep 3306
View Code

  7.測試python3連接mysql

建立mysql連接用戶

grant all on *.* to root@'10.0.0.%' identified by '123';
create database bbs charset utf8;

python代碼測試:

pip3 install --upgrade pip
pip3 install pymysql

vim testmysql.py
#!/usr/bin/python3
import pymysql
db = pymysql.connect("10.0.0.100","root","123","bbs" )
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()

python3  testmysql.py 

  

LNMP架構環境部署

簡介:


LNMPT =  Linux  Nginx  MySQL  PHP  Tomcat
LNMPJ =  Linux  Nginx  MySQL  PHP  Jboss

  1.使用官方的Nginx yum源

vim /etc/yum.repos.d/nginx.repo 
寫入
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

執行命令
yum install nginx -y

  2.啓動Nginx,並將Nginx加入開啓自啓

systemctl start nginx
systemctl enable nginx

  3.使用第三方擴展源安裝php7.1

 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

[root@nginx ~]# yum remove php-mysql-5.4 php php-fpm php-common
[root@nginx ~]#  vim  /etc/yum.repos.d/php.repo
[php]
name = php Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0

[root@nginx ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
3) 配置php-fpm用戶與Nginx的運行用戶保持一致

[root@nginx ~]# sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf 
[root@nginx ~]# sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
4) 啓動php-fpm,並將其加入開機自啓

[root@nginx ~]# systemctl start php-fpm
[root@nginx ~]# systemctl enable php-fpm
5) 安裝mysql數據庫

[root@nginx ~]# mysqladmin password '123'
[root@nginx ~]# mysql -uroot -p123
View Code

  4.LNMP架構環境部署

django項目:


依賴包
[root@web01 ~]# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel zlib zlib-devel -y

1.安裝python3
[root@web01 ~]# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
[root@web01 ~]# tar xf Python-3.6.2.tgz
[root@web01 ~]# cd Python-3.6.2/
[root@web01 Python-3.6.2]# ./configure --prefix=/usr/local/
[root@web01 Python-3.6.2]# make && make install
[root@web01 Python-3.6.2]# ./configure && make && make install


2.安裝Django框架和uwsgi

vim  re.txt
asn1crypto==0.24.0
beautifulsoup4==4.6.3
bs4==0.0.1
certifi==2018.4.16
cffi==1.11.5
chardet==3.0.4
Click==7.0
cryptography==2.3.1
Django==1.11.9
Flask==1.0.2
Flask-Cors==3.0.6
gevent==1.3.6
greenlet==0.4.15
idna==2.7
ItsDangerous==1.1.0
Jinja2==2.10
lxml==4.2.6
MarkupSafe==1.0
numpy==1.15.3
Pillow==5.3.0
pycparser==2.18
PyMySQL==0.9.2
pytz==2018.7
requests==2.19.1
selenium==3.141.0
six==1.11.0
urllib3==1.23
virtualenv==16.1.0
Werkzeug==0.14.1
wordcloud==1.5.0


pip3 install -i https://pypi.doubanio.com/simple/ -r re.txt
pip3 install -i https://pypi.doubanio.com/simple/ uwsgi




3.測試uwsgi是否正常,新建 test.py文件,內容以下:
[root@web01 ~]# vim test.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello Django"]

    
#而後在終端運行: 
uwsgi --http :8001 --wsgi-file test.py &


4.測試django是否正常,運行:
[root@web01 ~]# django-admin.py startproject demosite
[root@web01 ~]# cd demosite
[root@web01 demosite]# python3 manage.py runserver 0.0.0.0:8002
在瀏覽器內輸入:http://127.0.0.1:8002,檢查django是否運行正常。


5.配置uwsgi
    [root@web01 demosite]# vim /root/demosite/uwsgi.ini
寫入
[uwsgi]
socket = 127.0.0.1:9999
master = true
workers = 2
max-requests = 1000
buffer-size = 30000
pidfile = /run/uwsgi.pid
daemonize = /var/log/uwsgi.log

uwsgi --ini /root/demosite/uwsgi.ini &


6.配置Nginx
[root@web01 demosite]# vim /etc/nginx/conf.d/py.conf
寫入
server {
    listen 80;
    server_name 10.0.0.100;
    client_max_body_size 100M;

    location / {
        index index.html;
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9999;
        uwsgi_param UWSGI_SCRIPT demosite.wsgi;
        uwsgi_param UWSGI_CHDIR /root/demosite;
    }
}

重啓nginx
View Code
相關文章
相關標籤/搜索