記錄下本身學習經歷的一個過程,以便往後查看。javascript
我的github: https://github.com/hwgq2005
筆記來源:http://www.bookcss.com/note/12/14
複製代碼
從根目錄建立data目錄,cd data
進入目錄,開始執行一下操做php
wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz
複製代碼
xz -d node-v8.11.1-linux-x64.tar.xz
或者
tar -xzvf node-v8.11.1-linux-x64.tar.gz
複製代碼
tar -xvf node-v8.11.1-linux-x64
複製代碼
ln -s /data/node-v8.11.1-linux-x64/bin/node /usr/local/bin/node
複製代碼
ln -s /data/node-v8.10.0-linux-x64/bin/npm /usr/local/bin/npm
複製代碼
PM2是node進程管理工具,能夠利用它來簡化不少node應用管理的繁瑣任務,如性能監控、自動重啓、負載均衡等,並且使用很是簡單。css
npm install pm2 -g
複製代碼
ln -s /data/node-v8.11.1-linux-x64/bin/pm2 /usr/local/bin/pm2
複製代碼
安裝 nginx 須要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,若是沒有 gcc 環境,則須要安裝:html
yum install gcc-c++
複製代碼
安裝 PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,因此須要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre開發的一個二次開發庫。nginx也須要此庫。vue
yum install -y pcre pcre-devel
複製代碼
zlib 庫提供了不少種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,因此須要在 Centos 上安裝 zlib 庫。java
yum install -y zlib zlib-devel
複製代碼
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。 nginx 不只支持 http 協議,還支持 https(即在ssl協議上傳輸http),因此須要在 Centos 安裝 OpenSSL 庫。node
yum install -y openssl openssl-devel
複製代碼
wget https://nginx.org/download/nginx-1.16.0.tar.gz
複製代碼
tar -xzvf node-v8.11.1-linux-x64.tar.gz
cd nginx-1.10.1
複製代碼
使用默認就行了,如需複製請找相關資料查看mysql
./configure
複製代碼
make
make install
複製代碼
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
複製代碼
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
複製代碼
進入目錄/usr/local/nginx/conf/ 打開 vim nginx.conf
linux
http {
#引入服務
include /etc/nginx/vhost/*.conf;
#開啓壓縮
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";
...
#更多配置請查看nginx相關文檔
}
複製代碼
include /etc/nginx/vhost/*.conf 對應是每一個服務。 如:web.confnginx
server {
listen 80; # 監聽端口
server_name 域名1 域名2; # 站點域名
root /var/www/項目1; # 站點根目錄
index index.html; # 默認導航頁
#這個是配合vue.js路由模式history,防止刷新頁面404
location / {
try_files $uri $uri/ /index.html;
}
}
複製代碼
如:api.conf
server {
listen 80;
server_name 域名3;
location / {
#容許跨域,後臺不須要再加Access-Control-Allow-Origin
set $origin '*';
add_header Access-Control-Allow-Origin $origin;
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
proxy_pass http://localhost:3000;
}
}
複製代碼
vim /usr/lib/systemd/system/nginx.service
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
複製代碼
參數 | 說明 |
---|---|
Description | 描述服務 |
After | 依賴,當依賴的服務啓動以後再啓動自定義的服務 |
[Service] | 服務運行參數的設置 |
Type=forking | 是後臺運行的形式 |
ExecStart | 爲服務的具體運行命令(須要根據路徑適配) |
ExecReload | 爲重啓命令(須要根據路徑適配) |
ExecStop | 爲中止命令(須要根據路徑適配) |
PrivateTmp=True | 表示給服務分配獨立的臨時空間 |
注意:啓動、重啓、中止命令所有要求使用絕對路徑 [Install]服務安裝的相關設置,可設置爲多用戶
systemctl disable nginx.service 關閉開機自啓
systemctl enable nginx.service 開啓開機自啓
systemctl status nginx.service 查看狀態
systemctl restart nginx.service 重啓服務
systemctl list-units --type=service 查看全部服務
複製代碼
安裝mysql有2種方式,一種是tar.gz包、一種是經過yum安裝,我用的是yum方式安裝。
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
複製代碼
chown mysql:mysql -R /var/lib/mysql
複製代碼
mysqld --initialize
複製代碼
systemctl start mysqld
複製代碼
systemctl status mysqld
複製代碼
Mysql安裝成功後,默認的root用戶密碼爲空,你可使用如下命令來建立root用戶的密碼:
mysqladmin -u root password "new_password";
複製代碼
鏈接到Mysql服務器
[root@host]# mysql -u root -p
Enter password:*******
複製代碼
Linux下Mysql操做數據庫時中文亂碼
首先進入msyql,而後使用show variables like 'character%'
,查看編碼狀況。
打開 etc/my.cnf 文件,加入如下語句:
[client]
default-character-set=utf8 //添加該語句
[mysqld]
character_set_server=utf8 //添加該語句
[mysql]
default-character-set=utf8 //添加該語句
複製代碼
drop database
數據庫名,刪除建立的數據庫systemctl start mysqld
複製代碼